先锁表
FLUSH TABLES WITH READ LOCK;
导出要同步的库,导入到另一台mysql中,必须保证两台数据库要同步的库数据一致。不一致的话失败的几率很大。。
UNLOCK TABLES
ps:这一步也可以直接停掉所有的tomcat,保证同步成功之前数据没有再操作即可。
假设两台服务器分别为:
主服务器:192.168.0.1
从服务器:192.168.0.2
建立mysql同步账号,密码为123456
主 mysql>grant replication slave,file on *.* to 'backup'@'192.168.0.2' identified by '123456'; mysql>flush privileges; 从 mysql>grant replication slave,file on *.* to 'backup'@'192.168.0.1' identified by '123456'; mysql>flush privileges;
检查同步账号是否能互相访问:
登录192.168.0.1,执行
mysql -h 192.168.0.2 -u backup -p
登录192.168.0.2,执行
mysql -h 192.168.0.1 -u backup -p
上面两步确保OK。有问题检查防火墙配置。
主my.ini中添加:
server-id = 1 log-bin=mysql-bin binlog-do-db = hro_d binlog-ignore-db = mysql replicate-do-db = hro_d auto_increment_offset = 1 auto_increment_increment = 2 replicate-ignore-db = mysql
从my.ini中添加:
server-id = 2 log-bin=mysql-bin binlog-do-db = hro_d binlog-ignore-db = mysql replicate-do-db = hro_d auto_increment_offset = 2 auto_increment_increment = 2 replicate-ignore-db = mysql
主执行:
mysql> change master to master_host='192.168.0.2',master_user='backup',master_password='123456',master_port=3306; mysql> start slave;
从执行:
mysql> change master to master_host='192.168.0.1',master_user='backup',master_password='123456',master_port=3306; mysql> start slave;
主从分别执行:
mysql> show master status;
#如果显示为空,重启mysql即可。重启后继续执行:show master status;
分别记住logfile和log_pos,类似'mysql-bin.000001',‘master_log_pos=120’这样的。
主
mysql> stop slave; mysql> change master to master_host='192.168.0.2',master_user='backup',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=120; mysql> start slave; mysql> show slave status\G
#其中master_log_file是从机显示的logfile名,master_log_pos同理。
#Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 这两项都是YES的话,ok,同步成功
如果不是YES,查看mysql日志,解决问题。
从
mysql> stop slave; mysql> change master to master_host='192.168.0.1',master_user='backup',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master_log_pos=120; mysql> start slave; mysql> show slave status\G
#其中master_log_file是主服务器显示的logfile名,master_log_pos同理。
测试,随便找一台mysql改点数据,看另一台mysql是否同步过去。
相关推荐
windows下mysql双向同步 现在给出A 的双向同步的完整配置 [mysqld] server-id=1 log-bin=C:\log-bin.log binlog-do-db=dn2 master-host=192.168.1.181 master-user=backup master-password=1234 master-port=3306 ...
拥有它,烦人的数据库同步将迎刃而解 mysql双向主主同步关键性文档
此文档中详细记载了,mysql 双向同步的键值冲突问题的解决方法,希望可以帮助到你!
mysql,两个数据库,实现实时数据同步,对于需要实现mysql同步的用户非常有用
mysql5.7双向实时同步,亲测,对于需要实现mysql同步的用户非常有用
帮助需要配置mysql同步却又不熟悉方法的人,即使小白也能通过文档快速操作,实现mysql数据库的双向同步,并配置keepalvied实现虚ip自动切换。
Mysql异地多活数据双向同步-CloudCanal实战.doc
Mysql双向同步中的两台服务器不能同时对外服务,双向同步只是为了方便当主服务器从故障中恢复的时候能自动从备份服务器更新数据。
Mysql5.5数据库双向同步
windows下mysql双向同步备份实现方法,对于网站同步镜像是很必要的。
1.1 环境搭建 准备两台Windows NT ...分别在A、B节点上登陆mysql 数据库,创建同步帐户并赋予同步权限,如下: A节点操作: 运行cmd, cd进入iKEY版本安装目录下的iKEY\mysql\bin下,然后执行mysql –uroot –p12345
MySQL主主双向同步测试报告.pdf
这是关于linux下Mysql数据库单双向同步详细配置文档,已经经过试验验证。
出现的问题(多主自增长ID重复) 1:首先我们通过A,B的test表结构 2:掉A,在B上对数据表test(存在自增长ID)执行插入操作,返回插入ID为1 3:后停掉B,在A上对数据表test(存在自增长ID)执行插入操作,返回的插入ID也是1...
Mysql两个数据库表之间双向数据同步方案.docx
ubuntu搭建mysql及备份策略文档,ubuntu下mysql双向同步
MySQL 双向数据同步解决方案,暂时没有验证
linux下实现mysql同步,达到表级同步