MYSQL主從復制配置指引
1.前期準備
部署完主備數據庫,初始化主備庫表結構和數據。
2. 主庫配置修改
修改主庫配置文件etc/my.cnf,新增以下配置:
#服務器 id,需唯一
server-id = 1
#二進制文件存放路徑
log-bin = mysql-bin
#需同步的庫
binlog-do-db = dida
#參數用于排除自帶的數據庫。
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#二進制日志格式,建議使用ROW格式以獲得更好的兼容性和可靠性。
binlog-format = ROW
保存修改后,重啟主庫mysql
service mysql restart
3. 備庫配置修改
修改備庫配置文件etc/my.cnf,新增以下配置:
#服務器 id,需唯一
server-id = 2
#中繼日志文件的名稱,用于從主服務器接收二進制日志事件。
relay-log = mysql-relay-bin
#從服務器的二進制日志文件的名稱。
log_bin = mysql-bin
#不同步相關的庫
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
slave-skip-errors=1032
保存修改后,重啟備庫mysql
service mysql restart
4. 主數據庫用戶賦權復制權限
以主庫root用戶為例,授權改用戶復制權限:
root用戶登錄主庫mysql
mysql -uroot -proot;
授權root用戶復制權限
GRANT REPLICATION SLAVE ON *.* TO 'root'@'%';
刷新配置
FLUSH PRIVILEGES;
5. 主數據庫****獲取當前二進制日志文件的名稱和位置
root用戶登錄主庫mysql
mysql -uroot -proot;
在主服務器上執行以下命令獲取當前二進制日志文件的名稱和位置:
SHOW MASTER STATUS;
執行結果如下所示,需使用的記錄為File、Position
在這里插入圖片描述
6. 備數據庫配置主從復制
root用戶登錄備庫mysql
mysql -uroot -proot;
在備數據庫執行以下命令,其中的File、Position替換為5小節中的結果。
切換數據庫為mysql
use mysql;
在備數據庫執行以下命令,其中的MASTER_LOG_FILE、MASTER_LOG_POS替換為5小節中的結果File、Position
CHANGE MASTER TO
MASTER_HOST = '10.202.80.28',
MASTER_USER = 'root',
MASTER_PASSWORD = 'root',
MASTER_LOG_FILE = '替換值',
MASTER_LOG_POS = 替換值,
get_master_public_key=1;
7. 備數據庫開啟主從復制并查看狀態
root用戶登錄備庫mysql
mysql -uroot -proot;
開啟同步
start slave;
查看同步狀態
SHOW SLAVE STATUS\G;
正常開啟主從復制的示意圖如下: