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;
如果此时状态是这样,就说明成功了。可以实时同步效果了!
。