免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7702 | 回复: 22
打印 上一主题 下一主题

[求助]一个奇怪的主从不同步问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-18 10:28 |只看该作者 |倒序浏览
一台数据库,跑的累了,今天给做个从库
使用mysqldump --lock-all-tables备份,同时记录master status
在从库上还原备份,然后change master to ……

奇怪的事情来了:
从库状态:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0
Read_Master_Log_Pos一直在走
Exec_Master_Log_Pos也一直在走
但数据就是没同步过来

请教各位,可能的问题是什么?谢谢

论坛徽章:
0
2 [报告]
发表于 2009-09-18 10:40 |只看该作者
最简单的方法,你在主库去建一个表.然后到从库上看一下是不是存在,就可以确认你的从库是不是工底起来了.
另外可以发一下你的show slave status\G;全部信息看一下.

论坛徽章:
0
3 [报告]
发表于 2009-09-18 11:42 |只看该作者
新创建的表同步过去了,但原来的表中的数据没同步
mysql> show slave status\G;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 192.168.1.3
                  Master_User: slaver
                  Master_Port: 3306
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000042
          Read_Master_Log_Pos: 564243456
               Relay_Log_File: mysqldtest2-relay-bin.000002
                Relay_Log_Pos: 134542102
        Relay_Master_Log_File: mysql-bin.000042
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: test1,test1
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 564243456
              Relay_Log_Space: 134542452
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 1045
                Last_IO_Error: error connecting to master 'slaver@192.168.1.3:3306' - retry-time: 60  retries: 86400
               Last_SQL_Errno: 0
               Last_SQL_Error:
1 row in set (0.00 sec)

ERROR:
No query specified

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
4 [报告]
发表于 2009-09-18 14:34 |只看该作者
我感觉你的情况是不是这样的   好比你master本来就有数据库了test1  在这个之后你做的slave是不能同步test1的数据的 只有先做好同步 然后再往master插入数据  这样slave才能把插入到master的数据同步过来的

论坛徽章:
0
5 [报告]
发表于 2009-09-18 15:03 |只看该作者
锁表,备份主库test1,同时记录主库master状态,记下file和position,这就相当于记录了所有的数据
然后把test1备份在从库还原,从库上change master,从备份时记录的file和position开始同步主库日志,应该没问题吧
4楼兄弟的意思我懂,但是file和position就是解决中途做数据库主从这个问题的

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
6 [报告]
发表于 2009-09-18 16:09 |只看该作者
你不是把主库进行备份了并且锁表了吗 那就是停止他更新了  然后又还原到slave了吗 这样slave和master的数据应该现在是一样的了   然后根据file和position来进行同步位置  然后解锁 然后再在master创建个表 看能不能把新创建的表同步过来 要是可以那就没有问题了  为什么你会说不能把以前的数据同步过来 以前的数据你不是通过备份master 然后还原到slave了吗 怎么还问为什么不同步以前的数据  有点不明白

对了顺便问下 change master这个语句的 MASTER_LOG_POS 这个位置  是从数据库是从这个位置开始同步  还是以这个位置为终点? 我自己测试发现我设置了这个位置 他并没有从我选定的位置开始同步 而是从bin的头开始同步的 感觉很奇怪 所以有所此问 呵呵

[ 本帖最后由 wiliiwin 于 2009-9-18 16:26 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-09-18 18:01 |只看该作者
你不明白的地方就是我提问的原因,我同样不明白
mysql主从做了多次了,方法都一样,头一次遇到这个问题

你若是中途备份做主从,从库应该从这个位置开始同步,你看到的从bin的开头开始记录日志,是从库自身的二进制日志,原理和主库相同,是给其他服务器做主库同步日志用的;我想是这样啊,不知道我对你的意思有没有理解错

论坛徽章:
0
8 [报告]
发表于 2009-09-19 13:01 |只看该作者
Last_IO_Error: error connecting to master 'slaver@192.168.1.3:3306' - retry-time: 60  retries: 86400

这是啥?

论坛徽章:
9
每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00每日论坛发贴之星
日期:2016-01-04 06:20:00数据库技术版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00IT运维版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00综合交流区版块每日发帖之星
日期:2016-01-04 06:20:00数据库技术版块每周发帖之星
日期:2016-03-07 16:30:25
9 [报告]
发表于 2009-09-19 13:27 |只看该作者
原帖由 风远尘 于 2009-9-19 13:01 发表
Last_IO_Error: error connecting to master 'slaver@192.168.1.3:3306' - retry-time: 60  retries: 86400

这是啥?


这个是上次出错的提示,现在IO和SQL都是yes了,应该M/S都是正常运行的。

我怀疑是不是 replicate_do_db打了两遍test1的问题?

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
10 [报告]
发表于 2009-09-19 15:22 |只看该作者
change master这个语句的 MASTER_LOG_POS 这个位置  是从数据库是从这个位置开始同步  还是以这个位置为终点?

谁知道的回答下要搞清楚这个问题啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP