天天看點

mysql 5.5 互為主從伺服器

主機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執行的指令)

需要同步的資料庫沒有問題,能正常同步。

不需要同步的資料庫沒有測試是否同步。