標籤:pid orm server-id ant code log-bin replica com ddr
一、環境說明
兩台mac,mysql環境master是5.7.20,slave是5.7.21
master IP: 172.21.127.10
slave IP:172.21.127.12
二、master機器配置
1、更改設定檔
# Default Homebrew MySQL server config[mysqld]# Only allow connections from localhostbind-address = 172.21.127.10log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pidserver-id = 1log-bin = mysql-binbinlog-format = ROW #選擇row模式
2、重啟mysql使上述配置生效
3、建立用於主從同步的使用者,為其授權,並指定該使用者只能在172.21.127.12這台機器上登陸。
grant replication slave on *.* to ‘slave1‘@‘172.21.127.12‘ identified by "slavepass";
4、為了保證主從庫的資料庫一致性,需要先為master加上讀鎖,使其變成唯讀
FLUSH TABLE WITH READ LOCK
5、記錄下master的binlog記錄檔,以及位移量
6、將master上現有資料匯出,進入你想要匯出sql檔案的目錄下,執行下面語句。
mysqldump -uroot -proot --all-databases > db.sql
7、解除master的讀鎖
UNLOCK TABLES;
8、將db.sql複製到slave機器上
三、slave機器配置
1、首先還是修改設定檔。參考master機器上的配置。將server-id修改,不能重複,如果沒有配置server-id一會兒start slave會報錯
2、重啟mysql
3、將書面的db.sql匯入到資料庫
mysqldump -u root -p 要匯出的資料庫名>名字隨意.sql #在這裡直接mysqldump -root -proot < /Users/my/db.sql
4、使slave與master建立其起同步,這是很關鍵的一步
STOP SLAVE;CHANGE MASTER TO MASTER_HOST=‘172.21.127.10‘, MASTER_USER=‘slave1‘, MASTER_PASSWORD=‘slavepass‘, MASTER_LOG_FILE=‘mysql-bin.000003‘, MASTER_LOG_POS=1791;START SLAVE;
四、總結
經過以上步驟你就可以簡單的實現主從同步了,如果有問題,可以多看之前配置的log-error日誌,碰到問題多查日誌~
mac下mysql主從同步配置