MySQL主從庫配置備忘
使用的MySQL版本為5.7
一、主庫配置內容
1、修改my.ini檔案:
在[mysqld]如下新增配置
server-id=1 #主庫和從庫需要不同的id
log-bin=mysql-bin
#需要同步的資料庫名,如有多個就寫多條
binlog-do-db=dbName1 #同步的資料庫
binlog-do-db=dbName2 #同步的資料庫
#不需要同步的資料庫名,與上面的binlog-do-db為互斥關係,一般只需要配置一種即可
binlog-ignore-db=dbName #不需要同步的資料庫
2、新增新使用者(也可用老使用者)
3、重啟MySQL服務
4、輸入show master status;命令檢視主庫資訊,記錄下File和Position的資訊,在配置從庫時需要用到
二、從庫配置內容
1、修改my.ini檔案:
在[mysqld]如下新增配置
server-id=2 #和主庫的id不能一樣
replicate-do-db=dbName1 #需要同步的表
replicate-do-db=dbName2 #需要同步的表
#與主庫中的配置類似
replicate-ignore-db=dbName1 #不需要同步的表
2、重啟MySQL服務
3、執行命令如下:
change master to master_host='192.168.xxx.xxx', master_port=3306,master_user='主庫中的使用者名稱',master_password='使用者密碼',master_log_file='之前記錄的file的資訊',master_log_pos=之前記錄的position的資訊
4、執行命令START SLAVE;啟動從庫
5、執行命令SHOW SLAVE STATUS;檢視SLAVE_IO_RUNNING和SLAVE_SQL_RUNNING狀態是否為YES
以上都做完後配置完成,在主庫中新增表或資料後檢查從庫是否也同步修改了
注:網上有些比較老的文章配置從庫my.ini檔案時需要新增一些master-host、master-user、master-xxxx等配置項,這些配置項在5.7版本已不能使用,需要使用change master命令代替
另外如果要配置雙主庫的話每個配置檔案上還需要再配置兩個引數:auto_increment_offset和auto_increment_increment
auto_increment_offset是設定主鍵偏移量,auto_increment_increment是設定主鍵增量,大致配置如下:
主庫:
#設定主鍵偏移量
auto_increment_offset=2
#設定主鍵增量
auto_increment_increment=2
從庫:
#設定主鍵偏移量
auto_increment_offset=1
#設定主鍵增量
auto_increment_increment=2