主機A(Ubuntu16.04):192.168.1.11
主機B(Ubuntu16.04):192.168.1.22
一、主機A上
1、vi /etc/my.cnf,添加:
[mysqld]
# master-slave
log-bin=/var/lib/mysql/binlog
server-id=1
binlog_do_db=syndb
binlog-ignore-db=test
binlog-ignore-db=mysql
2、登陸到mysql:
mysql -uroot -p111111
3、執行
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO synuser@'%' IDENTIFIED BY 'synuser';
4、執行
change master to master_host='192.168.19.22 ', master_port=3306, master_user='synuser', master_password='synuser';
5、退出 exit 並重啓mysql service mysql restart
二、主機B上
1、vi /etc/my.cnf,添加:
[mysqld]
# master-slave
log-bin=/var/lib/mysql/binlog
server-id=2 這裏與A主機不同(複製代碼注意這點漢字去掉)
binlog_do_db=syndb
binlog-ignore-db=test
binlog-ignore-db=mysql
2、登陸到mysql:
mysql -uroot -p111111
3、執行
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO synuser@'%' IDENTIFIED BY 'synuser';
4、執行
change master to master_host='192.168.19.11 ', master_port=3306, master_user='synuser', master_password='synuser';
5、退出 exit 並重啓mysql service mysql restart
說明:
log-bin 同步的日誌路徑及文件名,一定注意這個目錄要是mysql有權限寫入的
server-id master端的ID號
binlog_do_db要同步的數據庫名
binlog-ignore-db不同步的數據庫
有些在 [myslqd] 中加master-host、master-user 、master-password 、master-port、replicate-do-db參數,重啓時報錯:unknown variable ‘master-host=的,是因爲mysql5.5+版本主從複製不支持這些變量,需要在從庫上用命令來設置(上面步驟4執行的命令)
需要同步的數據庫沒有問題,能正常同步。
不需要同步的數據庫沒有測試是否同步。