mysql 主从同步

master

一:修改配置文件

vim /etc/my.cnf
# 一个集群中的id保持唯一
server-id=1
log-bin=log
# 忽略需要同步的库
binlog-ignore-db=mysql,information_schema,performance_schema,sys
# 指定需要同步的库。不指定的话同步所有,不包括被ignore的
#binlog_do_db=

二:创建账号

1.登录MySQL    
    cd /usr/local/mysql/bin
    ./mysql -uroot -p

2.create user 'sync'@'%' identified by 'Sync!0000';    (5.7要求密码必须含有大小写英文,符号和数字)

3.grant FILe on *.* to 'sync'@'192.168.200.105' identified by 'Sync!0000';   (赋予FILE权限,允许从从库ip访问主库)

4.grant replication slave on *.* to 'sync'@'192.168.200.105' identified by 'Sync!0000';   (赋予主从同步权限)

5.flush privileges;

6.重启mysql   service mysql restart

7.show master status; 记录File和Position对应的信息,我这里是log.000006和154

 slave

一:修改配置文件

如果master-slave 的 uuid 一样,也需要修改, 保持唯一。
  vim /data/mysql/auto.cnf

vim /etc/my.cnf

server-id=3
log-bin=mysql-bin
# 和master规则保持一致,指定需要  同步  和 忽略 的库
replicate-ignore-db=mysql,information_schema,performance_schema,sys
log-slave-updates
slave-skip-errors=all
slave-net-timeout=60

重启mysql   service mysql restart

二:配置同步账号

登录mysql

stop slave;
# 指定master信息,和log信息
CHANGE MASTER TO MASTER_HOST='192.168.200.103',MASTER_PORT=3306,MASTER_USER='sync',MASTER_PASSWORD='Sync!0000',MASTER_LOG_FILE='log.000001',MASTER_LOG_POS=154;

start slave;

show slave status G;

 如果此时状态是这样,就说明成功了。可以实时同步效果了!

原文地址:https://www.cnblogs.com/wlwl/p/14916628.html