如何在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说的很清楚了。通过这种方式来是实现切换,必定要面临两个问题:同步是否已经一致?切换过程中正在写入的数据如何保证不丢失?这些问题主要是通过严格的代码逻辑来保证的,个人建议是:保证同步的一致,而将切换过程中的新数据至于次要地位,即,切换过程中,不能进行数据插入。 MySQL数据库编码问题 通过查询出来的物料进行查询 Mysql 联表查询的优化 大家帮忙看下这个sql语句的问题,困扰我一天了 如何将html表格快速导入数据库,几百万条数据,且分散在几千个文件中? mysql 5.0.15 采用innodb表类型,无法插入中文? 有没有办法用一条sql语句交换两条记录的某一字段? MySQL如何批量查询 java发送邮件带附件 mysql新增表字段报错 远程连接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从文件头开始即可。