
方法一:忽略错误后,继续同步
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
解决:
stopslave;
#表示跳过一步错误,后面的数字可变
setglobalsql_slave_skip_counter=1;
startslave;
之后再用mysql>showslavestatusG查看:
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
ok,现在主从同步状态正常了。。。
方式二:重新做主从,完全同步
该方法适用于主从库数据相差较大,或者要求数据完全统一的情况
解决步骤如下:
1先进入主库,进行锁表,防止数据写入
使用命令:
mysql>flushtableswithreadlock;
注意:该处是锁定为只读状态,语句不区分大小写
2进行数据备份
#把数据备份到mysqlbaksql文件
[root@server01mysql]#mysqlmp-uroot-p-hlocalhost>mysqlbaksql
这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失
3查看master状态
以前模式,一台是服务器,另一台是客户端,共用一个数据库;现在,你可能服务端系统重装过了,计算机名或IP地址改变了,数据库不能共享了。需要在客户机中管理软件中配置文件中改下配置就可以了。
首先你要说明一下这2个数据库是什么关系
数据库集群,那么AB两库是镜像还是互备,当然,根据数据库品牌不同,同步的方式也不一样,不过都可以通过安装过程和建立数据库实例中的配置来实现
数据库之间通过其他可控程序连接,那么,该情况下,需要数据可能出现延迟等,不推荐
数据库之间没有连接,但是都由同一个节点进行数据下发,那么就在这个节点上实现一个跨库事物控制就行了
最后没采用双向同步的方案,因为不靠谱,效率低。
有几种方式可供选择。
一、异地容灾的解决方案。就是单向同步。一个用于直接写,然后写触发器或者其他方式将数据同步到另一台服务器上。
二、三台服务器读写分离模式。 即,使用三台服务器,两台服务器用于写入数据。然后用服务或者其他接口将数据同步到中央服务器。所有的读取 *** 作直接访问中央服务器。
三、搭建***,组内网。一台服务器搞定。
PS:别想双向同步的事了,效率太低
PS:当然非要双向同步也可以,别用ID做主键。写同步 判断主键字段是否存在。不存在就跳过
以上就是关于如何配置两个MySQL数据库之间的主从同步功能全部的内容,包括:如何配置两个MySQL数据库之间的主从同步功能、实现sql2000数据库双向同步、如何实现两个数据库之间的表数据同步等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)