MySQL 搭建主從同步實現操作
一、MySQL 8.0 主從同步
主從同步的流程(原理):
master
將變動記錄到二進制日志文件(binary log)中,即配置文件中 log-bin 指定的文件,這些記錄叫做二進制日志事件(binary log events);master
將二進制日志文件發送給 slave;slave
通過 I/O 線程讀取文件中的內容寫到 relay 日志中;slave
執行 relay 日志中的事件,完成數據在本地的存儲。
搭建主從需要註意的事項:
- 主從服務器操作系統版本和位數一致;
Master
和Slave
數據庫版本要一致;- Master 和 Slave 數據庫中的數據要一致;
- Master 開啟二進制日志, Master 和 Slave 的 server_id 在局域網內必須唯一。
二、MySQL主從搭建
2.1 Master 上的操作
修改 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
的值,之後要用到。
2.2 Slave 上的操作
修改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 中的主從同步實現操作的文章就介紹到這瞭,更多相關MySQL 主從同步內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!