MySQL配置主從服務(wù)器(一主多從)
本文主要介紹了MySQL配置主從服務(wù)器(一主多從),感興趣的可以了解一下
當(dāng)前環(huán)境
Centos 7.6
Mysql 5.7
Centos 7.6 安裝MySQL 5.7 請(qǐng)參考:https://www.jb51.net/article/99965.htm
思路
主機(jī)配置
修改conf
vim /etc/my.cnf
在 [mysqld] 后面換行追加配置,保存并退出
server-id=1 log-bin=master-bin log-bin-index=master-bin.index
重啟
systemctl restart mysqld.service # 查看狀態(tài) systemctl status mysqld.service
檢驗(yàn)
mysql -u root -p SHOW MASTER STATUS;
從機(jī)1配置
修改conf
vim /etc/my.cnf
在 [mysqld] 后面換行追加配置,保存并退出
server-id=2 relay-log=slave-01-relay-bin relay-log-index=slave-01-relay-bin.index
重啟
systemctl restart mysqld.service # 查看狀態(tài) systemctl status mysqld.service
從機(jī)2配置
修改conf
vim /etc/my.cnf
在 [mysqld] 后面換行追加配置,保存并退出
server-id=3 relay-log=slave-02-relay-bin relay-log-index=slave-02-relay-bin.index
重啟
systemctl restart mysqld.service # 查看狀態(tài) systemctl status mysqld.service
配置主從關(guān)聯(lián)
主機(jī)配置
登錄主機(jī)mysql控制臺(tái),創(chuàng)建用戶,授權(quán)并刷新。
mysql -u root -p CREATE USER 'repl'@'%' IDENTIFIED BY 'Mysql57*'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'Mysql57*'; flush privileges;
從機(jī)配置
mysql -u root -p # 這里我的主機(jī)IP是192.168.1.8 change master to master_host='192.168.1.8',master_port=3306,master_user='repl',master_password='Mysql57*',master_log_file='master-bin.000001',master_log_pos=0; start slave; #停止主從同步 #stop slave; # \G 表示換行查看 show slave status \G;
若查看主從狀態(tài)提示The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.請(qǐng)參考常見(jiàn)問(wèn)題
測(cè)試數(shù)據(jù)同步
這里筆者使用可視化工具Navicat ,讀者也可以使用其他工具,只是一個(gè)簡(jiǎn)單的測(cè)試。
在主庫(kù)中新增庫(kù) test-for-repl,查看從庫(kù)01、02是否有庫(kù)新增
在主庫(kù) test-for-repl 新增表 test-create-table ,查看從庫(kù)01、02對(duì)于庫(kù)中是否有表新增在主庫(kù) test-for-repl 表 test-create-table ,查看從庫(kù)01、02對(duì)于位置是否有數(shù)據(jù)
常見(jiàn)問(wèn)題
從機(jī)查看主從同步狀態(tài)show slave status \G; 時(shí)報(bào)錯(cuò)
The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.
原因
這里筆者使用了 VMware 軟件創(chuàng)建了1個(gè)虛擬機(jī)安裝 Centos7.6 + MySQL5.7,然后使用該虛擬機(jī)克隆生成了另外兩個(gè)虛擬機(jī)當(dāng)從從庫(kù)機(jī)器,導(dǎo)致3臺(tái)虛擬機(jī)上的MySQL啟動(dòng)之后會(huì)生成相同的 UUID。
解決方案
找到MySQL的UUID,修改一個(gè)字符,重啟服務(wù),然后登陸MySQL控制臺(tái),開(kāi)啟主從
find / -name 'auto.cnf' vim /var/lib/mysql/auto.cnf systemctl restart mysqld.service mysql -u root -p start slave; # \G 表示換行查看 show slave status \G;
到此這篇關(guān)于MySQL配置主從服務(wù)器(一主多從)的文章就介紹到這了,更多相關(guān)MySQL 主從服務(wù)器內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。