如何在C#里实现MYSQL备份功能的主从切换(一主一从) 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 跟普通的一样。1. 先判断之前的同步是否完成了。2. 进行CHANGE MASTER TO 操作。 1. 先判断之前的同步是否完成了。 ###如何判断?2. 进行CHANGE MASTER TO 操作。###我知道可以切换成备份机,但是不知道如何切换回主服务器,,不胜感谢! donggeng008 想做这个的主要目的应该是主机出现问题,备机能切换,顶成主机?如果是这样,最好的方法是做 1主2备,采用级联方式。当第一台主机出现问题时:1)判断备机无延迟2) 修改应用程序的主DB配置为备份DB的IP.这样,即使切换后,还是有主备存在。3) 如果步骤2中的DB ip配置过于分散,修改困难。 可以把原主机的ip停掉,使用备机把主机的ip接管过来,这样所有的应用就不用修改了。 如果主备不在一个网段,可以在主机上把Mysql停掉,然后设置转发到新的备机也可以。如果是一定要在2台之间做主备切换,在不考虑ip的情况。可以事先定制好配置文件或者切换命令。1)为主机定制一份作为备机时的配置或命令2)为备机定制一份作为主机的配置或命令3)需要切换时,分别执行一下命令就可以了。 但是有一点要注意,一定要确保主备数据已经完全同步。4)这样做的难点在于在指定备机的复制点的binlog文件和position。 可以在主备切换之前,均执行一下flush logs,使得binlog文件切换成一个新的。 然后指定binlog文件时,只需要检测获取最新的binlog文件名,postion从文件头开始即可。 如果楼主要的是mysql内部自动机制来是实现无缝切换的话,那么我想你要失望了,也许5.5版本可以满足你的这个要求吧,这个版本把google的一个patch加上了,所以能大概的实现这个功能。所以,你还是要通过C#程序来控制,或者是脚本语言来管理。具体的思路其实ICEQQ说的很清楚了。通过这种方式来是实现切换,必定要面临两个问题:同步是否已经一致?切换过程中正在写入的数据如何保证不丢失?这些问题主要是通过严格的代码逻辑来保证的,个人建议是:保证同步的一致,而将切换过程中的新数据至于次要地位,即,切换过程中,不能进行数据插入。 有点难度:在case when中应用limit语句 主键与唯一索引有什么区别? sql删除重复行 请教插入后进行更新该条插入记录的触发器问题 如何用数据库来制作菜单 delete 后面是不是不能跟 in 语句? 新建表时能不能这样指定字段的缺省值 不可意思的问题,大家来看看怎么回事! mysql并发数据后的触发器问题 新手,SQL查询语句写法求指导 远程连接MySql问题 id自增字段是不是必须的?
1. 先判断之前的同步是否完成了。
2. 进行CHANGE MASTER TO 操作。
2. 进行CHANGE MASTER TO 操作。###我知道可以切换成备份机,但是不知道如何切换回主服务器,
,不胜感谢!
1)判断备机无延迟
2) 修改应用程序的主DB配置为备份DB的IP.这样,即使切换后,还是有主备存在。
3) 如果步骤2中的DB ip配置过于分散,修改困难。
可以把原主机的ip停掉,使用备机把主机的ip接管过来,这样所有的应用就不用修改了。
如果主备不在一个网段,可以在主机上把Mysql停掉,然后设置转发到新的备机也可以。
如果是一定要在2台之间做主备切换,在不考虑ip的情况。
可以事先定制好配置文件或者切换命令。
1)为主机定制一份作为备机时的配置或命令
2)为备机定制一份作为主机的配置或命令
3)需要切换时,分别执行一下命令就可以了。
但是有一点要注意,一定要确保主备数据已经完全同步。4)这样做的难点在于在指定备机的复制点的binlog文件和position。
可以在主备切换之前,均执行一下flush logs,使得binlog文件切换成一个新的。
然后指定binlog文件时,只需要检测获取最新的binlog文件名,postion从文件头开始即可。