Mysql5.7.20主從配置
Mysql主從配置筆記,安裝完成兩個Mysql,版本都是5.7.20,
主庫的IP地址為172.17.0.2,從庫的ip地址為172.17.0.3
首先在主庫(172.17.0.2)上執行:
1.建立使用者
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected]172.17.0.3 IDENTIFIED BY 'Wwe123456!';
代表建立一個synchrouser使用者,密碼為Wwe123456!,並且,這個主庫能允許從庫(172.17.0.3)的ip以synchrouser使用者來登陸。
2.配置主庫
在/etc/my.cnf檔案下增加
server-id=2
log_bin=mysql-bin
binlog_format=mixed
我的配置檔案如下
那個server-id在資料庫配置中必須是唯一的,重啟主庫的mysql
3.配置從庫
在/etc/my.conf下增加server-id=3,我的配置檔案如下
重啟從庫的mysql,
在主庫執行sql:show master status;
在從庫進行連線主庫執行如下sql:
change master to master_host=’172.17.0.2’, master_user=’synchrouser’, master_password=’Wwe123456!’,master_log_file=’mysql-bin.000001’,master_log_pos=154;
這裡的master_log_file 和msater_log_pos的值都來自於剛剛主庫的這條sql:show master status,
4.啟動主從複製
在從庫執行:start slave;
代表啟動成功了。
5.檢查環境是否配置成功
執行 show slave status \G
這個 Slave_IO_Running: Yes和Slave_SQL_Running: Yes都為yes代表成功了。,
測試主從複製是否好使,在主庫執行sql
在從庫檢視:
到這裡,全部庫的主從配置就完成了,實際應用中可能會用到單個表的同步,或者部分表的同步,只需要在主庫的/etc/my.cnf里加上
只複製某個表replicate-do-table=tablename
只複製某些表(可用匹配符)replicate-wild-do-table=tablename%
只複製某個庫replicate-do-db=dbname
只複製某些庫replicte-wild-do-db=dbname%
不復制某個表replicate-ignore-table=tablename
配置就可以了