主機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 [email protected]'%' 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 [email protected]'%' 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執行的指令)
需要同步的資料庫沒有問題,能正常同步。
不需要同步的資料庫沒有測試是否同步。