CentOS7,MySQL主從配置和讀寫分離
主從配置步驟:
1.確保主資料庫與從資料庫裡的資料一樣。
2.在主資料庫裡建立一個同步賬號:例:
mysql> CREATE USER 'repl'@'192.168.1.%' IDENTIFIED BY 'repl123';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%';
3.如果開發防火牆,可能要配置下埠,如下:
firewall-cmd
--zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
4.現在開始配置主資料庫:
1)你必須要啟用二進位制,並且建立一個唯一的Sercer ID,這部操作需要重啟Mysql。
2)主伺服器傳送的變更記錄到從伺服器依賴的二進位制日誌,從伺服器需要讀取日誌進行變更資料,如果主伺服器沒有啟用二進位制日誌,從伺服器的資料庫不能實現資料的更新。
3)配置二進位制日誌和Server ID,你需要MySQL和編輯my.cnf或者my.ini檔案,要在[mysqld]節點下新增配置。
5)下面是啟用二進位制日誌,日誌檔名以“mysql-bin”作為字首,Server ID配置為1,例:
[mysqld]
log-bin=mysql-bin
server-id=1
binlog-format=mixed
6)現在需要重啟mysql:systemctl restart mysqld
7)然後檢視主伺服器狀態:show master status
5.現在開始配置從資料庫:
1)從伺服器,同理:
server-id=2
replicate-do-db = 同步的資料庫
replicate-ignore-db = 非同步的資料庫
relay-log=mysql-bin
2)重啟mysql:systemctl restart mysqld
3)現在配置連線主伺服器的資訊:
mysql> stop slave;
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.233',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='repl123',
-> MASTER_LOG_FILE='mysql-bin.000002',
-> MASTER_LOG_POS=313;
mysql> start slave;
4)檢視從伺服器狀態:mysql>show slave status \G;
5)開始測試資料同步。