ITPUB??ì3
ITPUB论坛 » MySQL及其它开源数据库 » mysql复制时出错的处理?

标题: mysql复制时出错的处理?
离线 pzlydg
初级会员



精华贴数 0
个人空间 0
技术积分 405 (4721)
社区积分 0 (819215)
注册日期 2006-3-29
论坛徽章:0
      
      

发表于 2008-5-20 13:23 
mysql复制时出错的处理?

现在从A机到B机做某一数据库的同步,如果做了操作中有其他库的信息,比如在A库中执行(复制C库中的表a): create table a select * from C.a ;
同步时会出错,当然可能还会有其他的错误,类似这种错误如何能监控到,或能让电脑自动处理,要不A库中的数据始终在变化,B库中因为同步出错,不去手工检查的话,根本就不知道数据同步已经停止了,有什么好办法能解决同步中出现的错误吗?


只看该作者    顶部
离线 jinguanding
Eugene


来自 上海
精华贴数 1
个人空间 70
技术积分 2344 (658)
社区积分 72 (3988)
注册日期 2007-3-29
论坛徽章:4
现任管理团队成员2008北京奥运纪念徽章:柔道生肖徽章2007版:鼠ITPUB新首页上线纪念徽章  
      

发表于 2008-5-20 16:53 
你可以写脚本,定期去获得show slaves status
然后写对应的处理
create table a select * from C.a ;
语句是可以的,但是必须在Slave上有C 库(5.1及以上版本可以不这样,但是我没试过)


__________________
.....做人做事尽心尽力,做学问谦虚求根问底.......

.....专业的综合布线、安防公司........................
......www.showgold.cn..............................
......上海亮金信息技术有限公司.......................
只看该作者    顶部
离线 yueliangdao0608
斑竹
上帝他爸


来自 中国-红灯区-深圳
精华贴数 0
个人空间 0
技术积分 3958 (349)
社区积分 1471 (708)
注册日期 2005-2-25
论坛徽章:18
现任管理团队成员紫蜘蛛玉兔   
      

发表于 2008-5-21 12:42 
create table a select * from C.a ;

这个是因为这条语句不会写录BINLOG 里面。


__________________
-------------------------------------------------------
以前搞维护-搞软件-搞网站-现在搞DBA ---
点击这里访问我的技术博客

最近在练习英语中。。。
Losing my face!
只看该作者    顶部
离线 sky000
一般会员



精华贴数 0
个人空间 0
技术积分 207 (9007)
社区积分 1 (34402)
注册日期 2004-3-3
论坛徽章:1
生肖徽章2007版:鸡     
      

发表于 2008-5-26 19:49 
如果你设置了A库是需要复制的,而且你是以A库作为default database登录的话,那么create table a as select * from c.a是会被写入binlog的,对于mysql来说,是否计入日志是按照default database来确定的,如果你当前的default database 在所设定的需要复制的数据库列表中,那么就会被记录进来。就比如上面楼主所描述,如果A库是需要复制的,而且以A库作为default database登录,那么复制是不会出现问题的(当然前提是在slave端要有C库存在)。
但是,如果你设置了A库需要复制,但是你当前操作时以C库作为default database登录,然后通过use a切换到A库,那么这个操作时不会记录到binlog的,这种情况下就不会被复制了。

对于楼主所描述的情况,不知道具体的配置和登录时候的default database是什么?


__________________
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问