Mysql5.6主從配置(mysql5.5通用)

系統:Ubuntu 16.04.4 LTS

Mysql版本:5.6.36

Master:master1565/192.168.15.65

Slave:slave1566/192.168.15.66

Master配置:

一、配置my.conf

[mysqld]
 server-id = 100  #服務器的唯一ID號,主從之間不能衝突,默認是1
 log-bin   = mysql-bin   #啓動binlog 日誌功能。也稱事務日誌
 binlog-format = mixed   #日誌的記錄格式,默認是mixed,推薦也是用這個

二、配置給從庫Slave服務器使用的賬號

#創建賬號,我測試環境的從服務器的IP地址就是192.168.15.66,你們自己做的時候根據自己的從服務器IP來寫,
#賬號名也自己按自己的想法來取名

CREATE USER 'repl'@'192.168.15.66' IDENTIFIED BY '密碼'; 
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.15.66'; #添加權限
FLUSH PRIVILEGES;  #刷新權限,立馬生效

三、查看當前日誌狀態

SHOW MASTER STATUS; #查看主服務器的狀態,並記錄 File和Position字段,從服務器要使用到,示例剛截圖



Slave配置:

一、配置my.cnf

[mysqld]
server-id = 101  #服務器唯一ID號,不要衝突
log-bin   = mysql-bin  #啓動binlog日誌功能,也稱事務日誌
binlog-format = mixed  #可以不用配置,因爲默認值 就是mixed,在沒有配置log-bin時,這個值並不生效

#從庫的本地事務日誌更新,默認從主庫同步過來的操作記錄並不寫入從庫的本地事務日誌,
#會影響到我們在從庫上做 事務日誌 備份功能,此處開啓
#如果不會在從庫上做事務日誌備份(增量備份)功能,建議不開啓,減少磁盤IO
log-slave-updates = 1  

二、添加主庫信息

這裏的 MASTER_LOG_FILE  和  MASTER_LOG_POS 就是剛主數據庫中查看出來的結果
我測試環境主庫的IP是192.168.15.65
CHANGE MASTER TO 
MASTER_HOST='192.168.15.65',MASTER_PORT=63307,MASTER_USER='repl',MASTER_PASSWORD='abc123456',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=816;

三、啓動從庫複製功能

START SLAVE;  #啓動從複製功能

STOP SLAVE;  #停止從複製功能的命令

RESET SLAVE;  #重置從複製功能的配置,會清除 master.info 和 relay-log.info 兩個文件

四、查看從庫複製功能狀態

SHOW SLAVE STATUS\G   #加\G顯示效果好一些,防止列過多,一屏顯示不下時的排序混亂


常見故障

error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work.

mysql 5.6的複製引入了uuid的概念,各個複製結構中的server_uuid得保證不一樣,但是查看到直接copy  data文件夾後server_uuid是相同的,show variables like '%server_uuid%';

解決方法:

找到data文件夾下的auto.cnf文件,刪除,重啓db自動重新生成auto.cnf文件


發佈了47 篇原創文章 · 獲贊 62 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章