mysql 数据迁移失败原因总结

今年4月15号我们进行了一次数据库迁移,迁移的步聚如下:

修改mysql配置,开启binlog
并设置保留日志15天
直接修改配置文件/usr/my.cnf 
binlog_cache_size=4M
log-bin=master-bin.log
log-bin-index=master-bin.index
max_binlog_size=1G
max_binlog_cache_size=2G
expire_logs_days=15
binlog_format=mixed
server-id=1
binlog-do-db=wewe
log-short-format
binlog-row-image=minimal
master-info-repository=TABLE
relay-log-info-repository=TABLE
sync-master-info=1
关闭所有数据库事件
停止所有应用服务209wewe服务器
service tomcatwewe1 stop
service tomcatwewe2 stop
service tomcatwewe3 stop
service tomcatwewebatch stop
service tomcatwewereport stop
service tomcatweweapp3 stop
service tomcatweweapp stop
service httpd stop

121商城服务器
service tomcatweixin restart
service tomcatqy stop
service tomcatoa stop

203代理服务器
tomcatwmall
tomcat6

27.154.54.202商城前端
tomcatwewecity
tomcatwewemall
Apache2.2
重启数据库,记录首日志文件service mysql stop
service mysql start
开启不含报表中心的全备份
观察并确保启动备份
检查备份情况并启动所有服务
检查备份中主要业务数据的数据量是否完全一致
与还原后需一致
select count(1) from smm_sale_invoice where CREATE_TIME <='2015-04-09';
select count(1) from smm_sale_invoice_dtl where CREATE_TIME <='2015-04-09';
select count(1) from pss_invoice where CREATE_TIME <='2015-04-09';
select count(1) from pss_invoice_dtl where CREATE_TIME <='2015-04-09';
select count(1) from imm_stock_total where CREATE_TIME <='2015-04-09';
select count(1) from imm_stock_detail where CREATE_TIME <='2015-04-09';
上传(FTP)备份至阿里云ftp://120.55.98.156/db/
还原备份至阿里云数据库(去掉事务)navicate
还原后数据核对
阿里云RDS进行物理备份
关闭报表中心抽数,并开启报表中心备份
手动增量同步binlog数据mysqlbinlog --start-datetime="2015-04-09 00:00:00" --stop-datetime="2015-04-10 00:00:00" "/home/wewe/mysql/data/master-bin.?" -s -r "/home/wewe/qydata/?.sql";
D:\data\mysql -h rdsjmnyi3jmnyi3.mysql.rds.aliyuncs.com -u pssmis -ptofanepos wewe;
source D:\data\bin.000352.sql;
source D:\data\master-bin.000353.sql;
mysql -h rdsjmnyi3jmnyi3.mysql.rds.aliyuncs.com -u pssmis -ptofanepos wewe < /home/date/master-bin.000353.sql
手动增量同步binlog数据mysqlbinlog  "/home/wewe/mysql/data/master-bin.000353" -s -r "/home/wewe/qydata/master-bin.000353.sql";
重启数据库service mysql stop
service mysql start
同步最后一个binlog数据(注意检查中文乱码)mysqlbinlog  "/home/wewe/mysql/data/master-bin.000360" |sed -n -e '/^update/I,/;/p' -e '/^insert/I,/;/p' -e '/^delete/I,/;/p' -e '/^alter/I,/;/p' -e '/^drop/I,/;/p' -e '/^create/I,/;/p' >"/home/wewe/qydata/60.sql";
服务发布e服宝:wewe
e服宝:wewegs
服务地址修改
邮件通知用户访问地址切换

4月15日做迁移时失败了,失败的原因是因为有一部分单据数据没有被记录到mysql的binlog日志中。

4月23日做了第二次迁移,通过手工导过去的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山巅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值