目錄
- 思路
- 主機(jī)配置
- 從機(jī)1配置
- 從機(jī)2配置
- 配置主從關(guān)聯(lián)
- 測(cè)試數(shù)據(jù)同步
- 常見(jiàn)問(wèn)題
本文主要介紹了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
在 [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
在 [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
在 [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)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 在centos7上搭建mysql主從服務(wù)器的方法(圖文教程)
- CentOS服務(wù)器平臺(tái)搭建mysql主從復(fù)制與讀寫(xiě)分離的方法
- CentOS服務(wù)器環(huán)境下MySQL主從同步配置方法
- linux下指定mysql數(shù)據(jù)庫(kù)服務(wù)器主從同步的配置實(shí)例
- Windows服務(wù)器下MySql數(shù)據(jù)庫(kù)單向主從備份詳細(xì)實(shí)現(xiàn)步驟分享
- mysql主從服務(wù)器配置特殊問(wèn)題
- mysql 主從服務(wù)器的簡(jiǎn)單配置
- mysql主從服務(wù)器同步心得體會(huì)