mysql指定Position位置来进行数据同步_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1938 | 回复: 0   主题: mysql指定Position位置来进行数据同步        下一篇 
ssotest
注册用户
等级:新兵
经验:78
发帖:8
精华:0
注册:2013-8-22
状态:离线
发送短消息息给ssotest 加好友    发送短消息息给ssotest 发消息
发表于: IP:您无权察看 2014-12-30 15:40:36 | [全部帖] [楼主帖] 楼主

今天测试环境的数据库由于磁盘空间不足造成数据库不能正常写入数据,第一次遇到这个问题,脑袋一热,直接把数据库停了,然后重启起不来,想用最笨的方法进行恢复(把数据库数据全都删掉,然后重新创建数据库).

我先把所有的和二进制日志相关的文件全都删除了.然后重启,还是不行,最后找到了问题的原因,虽然数据库启动起来了,但是已经晚了,日志文件全都删除了,只剩下数据文件了.无奈还是得从主数据库中备份数据过来,然后重新建立数据.

先把主数据库的内容备份了一份,然后导入备用的数据库,这里就不多做解释,主要是怎么设置mysql数据库开始同步的位置和使用的二进制文件.

在刚刚备份完的时候最好是然他生成一个新的数据库文件

flush logs;


执行上一个命令,刷新日志.

执行这个命令看一下现在主数据库的日志状态

show master status;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000007 | 107 | | |
+-------------------+----------+--------------+------------------+


文件和位置都有了,那么在备用数据库中执行

stop slave;
CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000007', MASTER_LOG_POS=107;
start slave;


那么备用数据库将从master-bin.000007日志文件中的107位置开始进行数据传输.

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论