MySQL5.7主從複製
MySQL5.7
CentOS6.8
VirtualBox
一、資料庫規劃
主:192.168.56.102:3306
從:192.168.56.103:3306
安裝參看我之前的文章《CentOS6安裝MySQL5.7》,要求兩台伺服器OS一致、資料庫版本一致。
開通防火牆埠,設置開機啟動。
本次配置採用基於日誌的方式進行主從複製。
二、主DB設置
修改MySQL配置:按照《CentOS6安裝MySQL5.7》的方法安裝,執行vi /etc/my.cnf,如果是其他方法安裝,請先找一下my.cnf的地址。
增加如下內容:
log-bin=mysql-bin
server-id=102 #要保證唯一,可以設置為IP的最後一段
重啟MySQL:
service mysqld restart
登錄MySQL,創建授權用戶repl:
CREATE USER "repl"@"%" IDENTIFIED BY "MyNewPwd4!";
GRANT REPLICATION SLAVE ON *.* TO "repl"@"192.168.56.%" IDENTIFIED BY "MyNewPwd4!";
FLUSH PRIVILEGES;
查看主DB狀態:
show master status;
將會顯示一列數據,記住以下兩個欄位,從DB需要用:
File:mysql-bin.000001
Position:154
至此,主DB配置完畢。
三、從DB配置
vi /etc/my.cnf
增加以下內容:
server-id=103
重啟MySQL:
service mysqld restart
連接主DB:
stop slave;
change master to master_host="192.168.56.102",master_user="repl",master_password="MyNewPwd4!",master_log_file="mysql-bin.000001", master_log_pos=154;
start slave;
查看狀態:
show slave status G;
至此從DB配置完畢,可以在主DB上進行數據的增刪改,會同步到從DB上。
四、其他
以上的配置是基礎配置,還有一些擴展的配置項,這裡提一提,詳細的還需根據自己的實際情況進行配置。
主DB的my.cnf
#指定複製的庫,多個庫寫多行
binlog-do-db=AAA
binlog-do-db=BBB
#指定不複製的庫,多個庫寫多行
binlog-ignore-db=CCC
binlog-ignore-db=DDD
#日誌模式改為行模式 ROW|STATEMENT|MIXED
binlog-format=row
複製不複製,這兩種配置互斥,寫一種就行。
日誌模式三種區別這裡不贅述。默認是語句模式。
從DB的my.cnf
#需要複製的庫,多個庫寫多行
replicate-do-db=AAA
replicate-do-db=BBB
#不需要複製的庫,多個庫寫多行
replicate-ignore-db=CCC
replicate-ignore-db=DDD
※ZooKeeper單機版安裝配置——集群版後面再發
※Keepalived+Nginx高可用安裝部署(含Nginx+Tomcat負載均衡)
※Redis3.2.9單機版安裝
※基於Redis的消息隊列之生產消費者模式(明天寫發布/訂閱模式)
TAG:Java個人學習心得 |