MySQL配置主從服務器(一主多從)
本文主要介紹了MySQL配置主從服務器(一主多從),感興趣的可以了解一下
當前環(huán)境
Centos 7.6
Mysql 5.7
Centos 7.6 安裝MySQL 5.7 請參考:http://www.dbjr.com.cn/article/99965.htm
思路
主機配置
修改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
檢驗
mysql -u root -p SHOW MASTER STATUS;
從機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
從機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
配置主從關聯(lián)
主機配置
登錄主機mysql控制臺,創(chuàng)建用戶,授權并刷新。
mysql -u root -p CREATE USER 'repl'@'%' IDENTIFIED BY 'Mysql57*'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'Mysql57*'; flush privileges;
從機配置
mysql -u root -p # 這里我的主機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.請參考常見問題
測試數(shù)據同步
這里筆者使用可視化工具Navicat ,讀者也可以使用其他工具,只是一個簡單的測試。
在主庫中新增庫 test-for-repl,查看從庫01、02是否有庫新增
在主庫 test-for-repl 新增表 test-create-table ,查看從庫01、02對于庫中是否有表新增在主庫 test-for-repl 表 test-create-table ,查看從庫01、02對于位置是否有數(shù)據
常見問題
從機查看主從同步狀態(tài)show slave status \G; 時報錯
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個虛擬機安裝 Centos7.6 + MySQL5.7,然后使用該虛擬機克隆生成了另外兩個虛擬機當從從庫機器,導致3臺虛擬機上的MySQL啟動之后會生成相同的 UUID。
解決方案
找到MySQL的UUID,修改一個字符,重啟服務,然后登陸MySQL控制臺,開啟主從
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;
到此這篇關于MySQL配置主從服務器(一主多從)的文章就介紹到這了,更多相關MySQL 主從服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 在linux服務器上配置mysql并開放3306端口的操作步驟
- Ubuntu14.04服務器環(huán)境下配置PHP7.0+Apache2+Mysql5.7的方法
- CentOS7服務器中apache、php7以及mysql5.7的安裝配置代碼
- MySQL 4G內存服務器配置優(yōu)化
- 查看linux服務器上mysql配置文件路徑的方法
- Linux下安裝Python3和django并配置mysql作為django默認服務器方法
- CentOS 6.6安裝配置LAMP服務器(Apache+PHP5+MySQL)
- win2008 r2 服務器php+mysql+sqlserver2008運行環(huán)境配置(從安裝、優(yōu)化、安全等)
- MySQL 中的服務器配置和狀態(tài)詳解(MySQL Server Configuration and Status)
相關文章
mysql安裝報錯unknown?variable?‘mysqlx_port=0.0‘簡單解決過程
這篇文章主要給大家介紹了關于mysql安裝報錯unknown?variable?‘mysqlx_port=0.0‘的解決過程,文中通過代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-08-08