一、背景
了解并熟悉MySQL的主從同步的搭建過程,并解決搭建過程中所碰到的問題。
二、目標(biāo)
了解并熟悉MySQL的主從同步的搭建過程,并解決搭建過程中所碰到的問題。
IP地址 | MySQL版本 | 主從關(guān)系 |
---|---|---|
192.168.3.244 | 5.6.51 | Master |
192.168.3.245 | 5.7.41 | Slaver |
192.168.3.246 | 8.0.33 | Slaver |
三、過程
1、安裝對(duì)應(yīng)版本的MySQL
MySQL安裝部署-5.6.51-rpm
MySQL安裝部署-5.7.41-rpm
MySQL安裝部署-8.0.33-rpm
2、配置主(Master)數(shù)據(jù)庫
(1)?修改數(shù)據(jù)庫配置文件
vim /etc/my.cnf
更改配置文件:
[mysqld]#開啟二進(jìn)制日志
log-bin=mysql-bin #標(biāo)識(shí)唯一id(必須),一般使用ip最后位
server-id=254
(2) 初始化
mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
(3) 啟動(dòng)服務(wù)
mysql -uroot -p
(4) 修改密碼
SET PASSWORD = PASSWORD(
'123456'
);?
mysql -uroot -p123456
(5)設(shè)置可遠(yuǎn)程連接的權(quán)限
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
(6)?查看主服務(wù)器狀態(tài) 默認(rèn)初始值:
show master status;
master_log_file='mysql-bin.000005'
master_log_pos=120;
如果不是初始值,是因?yàn)樵O(shè)置了copy用戶導(dǎo)致Position數(shù)據(jù)增加 需要重置一下狀態(tài)
重置狀態(tài):
reset master;
(7) 對(duì)主庫來說依然需要?jiǎng)?chuàng)建一個(gè)用于同步數(shù)據(jù)的賬號(hào),授權(quán)用戶
grant replication slave on *.* to 'copy'@'%' identified by '123456';
3.?配置從(Master)數(shù)據(jù)庫
3.1?[5.7.41]配置
1)配置文件
vim /etc/my.cnf
加入如下配置:
server-id=255
重新啟動(dòng)mysql服務(wù):
systemctl restart mysqld
2)查看服務(wù)器狀態(tài) 初始狀態(tài):Empty set
show slave status;
如果不是初始狀態(tài),建議重置一下
重置命令如下:
stop slave; #停止復(fù)制,相當(dāng)于終止從服務(wù)器上的IO和SQL線程
reset slave;
3)設(shè)置從服務(wù)器的master
change master to master_host='192.168.3.244',
master_user='copy',
master_port=3306,master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=120;
4)執(zhí)行開始復(fù)制
start slave;
5)查看主從復(fù)制是否搭建完成
show slave status \G
3.2?[8.0.33]配置
1)配置文件
vim /etc/my.cnf
加入如下配置:
server-id=256
重新啟動(dòng)mysql服務(wù):
systemctl restart mysqld
2)查看服務(wù)器狀態(tài) 初始狀態(tài):Empty set
show slave status;
如果不是初始狀態(tài),建議重置一下
重置命令如下:
stop slave; #停止復(fù)制,相當(dāng)于終止從服務(wù)器上的IO和SQL線程
reset slave;
3)進(jìn)入mysql后,設(shè)置從服務(wù)器的master
change master to master_host='192.168.3.244',
master_user='copy',
master_port=3306,master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=120;
4)執(zhí)行開始復(fù)制
start slave;
5)查看主從復(fù)制是否搭建完成
show slave status \G
如果?Slave_IO_Running:?為no 執(zhí)行如下命令:
stop slave;
reset slave;
start slave;
四、結(jié)果
1)在主服務(wù)器中建立一個(gè)testdb數(shù)據(jù)庫:
2)在主服務(wù)器的testdb中建立一個(gè)t_user表并插入數(shù)據(jù)
3)可以發(fā)現(xiàn)主服務(wù)器的表中添加了值,從服務(wù)器中的表中也會(huì)添加一模一樣的值
從庫[5.7.41]:
從庫[8.0.33]:
文章來源:http://www.zghlxwxcb.cn/news/detail-457413.html
巨人的肩膀:
MySQL主從復(fù)制的簡(jiǎn)單搭建_mysql 主從復(fù)制_yuwenS.的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-457413.html
到了這里,關(guān)于MySQL主從同步(不開GTID)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!