本文檔以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;
此時進入到從服務器已經能夠查看到效果:
恭喜!此致主從同步大功告成!!!