主從同步的流程(原理):
##master 將變動記錄到二進位日誌檔案(binary log)中,也就是設定檔中log-bin 指定的文件,這些記錄叫做二進位日誌事件(binary log events);
#master 將二進位日誌檔案傳送給slave;
slave 透過I/O 執行緒讀取檔案中的內容寫到relay 日誌中;
slave 執行relay 日誌中的事件,完成資料在本機的儲存。
建構主從需要注意的事項:
Master 和
Slave 資料庫版本要一致;
修改master 的設定( my.cnf)加入下面的內容:
[mysqld] log-bin=mysql-bin # id 必须唯一!!! server-id=1
重啟master:
systemctl restart mysql
在master 中建立用於主從同步的使用者:
mysql> # 创建用户 mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; mysql> # 授权用户 mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%'; mysql> # 刷新权限 mysql> FLUSH PRIVILEGES;
查看主伺服器狀態:
show master status;
File 和
Position 的值,之後要用到。
修改slave 的設定( my.cnf)加入下面的內容:
[mysqld] # id 必须唯一!!! server-id=2
#重啟slave:
systemctl restart mysql
登入MySQL 並執行以下指令,設定主節點參數:
mysql> CHANGE MASTER TO MASTER_HOST='master的IP地址', MASTER_USER='hugh', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000006', MASTER_LOG_POS=856;
File 和
Position 的值。
查看主從同步的狀態:
mysql> show slave status\G;
#檢查下面的訊息,都為 yes 才代表搭建成功:##Slave_IO_Running: Yes
Slave_SQL_Running: Yes
以上是MySQL如何建構主從同步實作操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!