參考:
https://www.jianshu.com/p/8903423f78ed
主從配置:
1、配置主服務(wù)器
步驟1:修改配置文件,開(kāi)啟binlog日志--備注①
步驟2:修改配置文件,設(shè)置一個(gè)server_id=數(shù)字(注:數(shù)字必須唯一)
如:
[mysqld]
server_id=1
步驟3:重啟服務(wù)
步驟4:創(chuàng)建用戶(目的,讓從服務(wù)器來(lái)復(fù)制數(shù)據(jù))
mysql8以下:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'copy'@'%' IDENTIFIED BY 'copy' WITH GRANT OPTION;
mysql8:
創(chuàng)建用戶:
mysql> create user 'copy'@'%' identified by 'copy';
授權(quán):
mysql> grant all privileges on *.* to 'copy'@'%' with grant option;
修改數(shù)據(jù)表里面的host:
mysql> GRANT ALL ON *.* TO 'copy'@'%';
mysql8加密方式不一樣,需要修改加密方式才能訪問(wèn):
mysql> ALTER USER 'copy'@'%' IDENTIFIED WITH mysql_native_password BY 'copy';
mysql> FLUSH PRIVILEGES;
步驟5:關(guān)閉防火墻或開(kāi)放3306端口
2、配置從服務(wù)器
步驟1:修改配置文件,設(shè)置一個(gè)server-id=數(shù)字(注:數(shù)字必須唯一)
如:
[mysqld]
server_id=2
步驟2:重啟服務(wù)
步驟3:通過(guò)change master 語(yǔ)句指定同步主位置
-> 切換到主服務(wù)器并查看當(dāng)前主服務(wù)器信息,通過(guò)SQL語(yǔ)句:【show master status】得到file和position信息
-> 切換到從服務(wù)器執(zhí)行同步語(yǔ)句
mysql> change master to master_host='192.168.10.10',master_user='copy',master_password="copy",master_port=3306,master_log_file='mysql-bin.000018',master_log_pos=1528;
步驟4:開(kāi)啟同步
mysql> start slave;
步驟5:驗(yàn)證
mysql> show slave status\G;
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
兩個(gè)Yes就是成功,如果不成功,可以參考下面的注意事項(xiàng)
注意:
一,首次啟動(dòng)出現(xiàn)錯(cuò)誤
1,可以重新登陸MySQL然后重啟slave服務(wù)嘗試。
2,如果使用的是虛擬機(jī)克隆的兩個(gè)系統(tǒng),則MySQL是一樣的,也會(huì)報(bào)錯(cuò)’UUIDs’問(wèn)題,需要?jiǎng)h除MySQL數(shù)據(jù)目錄下的auto.cnf然后重啟(注:重啟后會(huì)自動(dòng)創(chuàng)建一個(gè)唯一的uuid),然后重啟mysql服務(wù)即可
二,重啟機(jī)器出現(xiàn)錯(cuò)誤
1,如果機(jī)器重啟,可能需要手動(dòng)同步:
mysql> stop slave;
2,再到master服務(wù)器:
mysql> show master status; 得到目前主機(jī)狀態(tài)
3,到從服務(wù)器手動(dòng)同步:
mysql> change master to master_host='192.168.10.10',master_user='copy',master_password="copy",master_port=3306,master_log_file='mysql-bin.000018',master_log_pos=2412;
4,重啟同步:
start slave;
5,驗(yàn)證是否成功:
mysql> show slave status\G;
/*****************************************備注**********************************************/
備注①:
1,主服務(wù)器開(kāi)啟binlog日志,也可以先查看(step3)
[mysqld]
log-bin=mysql-bin
2,重啟服務(wù)
service mysql restart
3,查看是否開(kāi)啟
show VARIABLES like 'log_bin';
列表:show master logs
清空:reset master
刷新:flush logs
查看指定日志:show binlog events in '日志鍵名(mysql-bin.000016)'
來(lái)源:https://www./content-2-372051.html
|