MySQL主從同步詳細步驟

前情提要:

本文檔以Ubuntu做爲主服務器,Win7做爲從服務器進行測試。要保證主從服務器之間可以互相通訊(即能相互ping通)。mysql

主服務器ip地址:192.168.13.81sql

 

從服務器ip地址:192.168.13.82數據庫

測試通訊情況:vim

主能夠ping通從:服務器

從能夠ping通主:ide

主服務器配置:

1.備份主服務器的數據
 在終端執行以下命令:
 mysqldump -uroot -pmysql --all-databases --lock-all-tables > ~/master_db.sql
 未來會在家目錄下生產一個master_db.sql的數據庫文件,即備份文件測試

2.編輯設置mysqld的配置文件,設置log_bin和server-id
 在終端執行以下命令:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnfspa

修改完畢以後保存退出,而且把MySQL服務器進行重啓,以下圖:3d

3.登入主服務器Ubuntu中的mysql,建立用於從服務器同步數據使用的賬號:日誌

   終端輸入以下指令鏈接MySQL:mysql –uroot –pmysql

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' identified by 'slave';

FLUSH PRIVILEGES;

4.獲取主服務器的二進制日誌信息,在MySQL服務器上輸入以下命令來獲取二進制日誌信息:SHOW MASTER STATUS;

記錄下二進制文件的名字以及position位置信息,下面同步的時候要用到

從服務器配置:

1.把主服務器上導出的master_db.sql備份文件先同步到從服務器上,保證主從數據一致。

把master_db.sql先放到從庫的服務器上(注意文件位置要和你打開終端的位置保持一致,好比都在桌面),而後執行以下命令:

mysql -uroot -pmysql < master_db.sql

此時從庫服務器已經擁有跟主服務器同樣的數據了,以下圖所示:

2.修改從服務器的配置文件my.ini

加上對應的server-id,要保證不能跟主服務器的server-id同樣

保持退出以後重啓從服務器,以下圖:

3.鏈接到從服務器,進行同步工做

輸入以下指令:
change master to master_host='192.168.13.81', master_user='slave', master_password='slave',master_log_file='mysql-bin.000008', master_log_pos=582;
注意:須要修改的地方有3處,第一個ip地址改爲本身主服務器的ip地址,第二個二進制文件要跟主服務器的一致,第三個是pos位置也要與主服務器一致。具體的值參見主服務器配置的第4

4.開始同步

輸入命令:start slave;

5.查看同步狀態

輸入指令:show slave status \G;

當看到兩個yes意味着同步成功。若是沒有成功先檢查一下主從是否能夠ping通,若是主從能夠正常通訊的話,則從文檔的「主服務器配置」的第4步開始把步驟再走一遍。

測試同步

在主服務器建立一個新的數據庫「test_slave」

create database test_slave charset=utf8;

此時進入到從服務器已經能夠查看到效果:

恭喜!此致主從同步大功告成!!!

相關文章
相關標籤/搜索