天天看点

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执行的命令)

需要同步的数据库没有问题,能正常同步。

不需要同步的数据库没有测试是否同步。