MySQL恢复:使用从库备份,主库binlog,从库中继日志恢复数据库
admin
2023-04-18 10:04:12
0

小生博客:http://xsboke.blog.51cto.com

                -------谢谢您的参考,如有疑问,欢迎交流

环境说明:

    mysql主从复制,主库A宕机,将从库B提升为了主库(假设你这时候才开启了从库的binlog日志)
    现在要新搞一个数据库C用来替代旧的主库A,那么C库的数据肯定要以B库为主,
    所以我们使用B库的备份来恢复数据

    将B作为主,C库作为从,
    你需要将C库恢复到B库提升为主库时的数据,才可以将C库作为新的从库使用(才可以change master)

以A库的binlog日志为主,介绍当前的备份状态:

    mysql-bin.00100
    mysql-bin.00101         在mysql-bin.00101的时候从库做了备份并且保有slave status信息
    mysql-bin.00102
    mysql-bin.00103
    mysql-bin.00104         主库是在mysql-bin.00104的时候宕机的
    mysql-bin.00105

所以我打算这样做:

1. 用从库的全备恢复数据,
2. 然后用主库的binlog恢复后来的数据,
3. 再使用从库的中继日志恢复主库缺少的数据.
在这过程中我发现了问题(关于[3.]的解释):
    主库宕机时,我发现有几条数据主库的binlog日志没有,但是从库的中继日志中却有,
    所以我从中继日志中把主库没有但是从库有的sql复制了出来,
    然后放到了文件名为addsql.sql中

我在mysql-bin.00101时的全备,备份时从库的slave status是这样的:

                Master_Log_File: mysql-bin.00101
                Read_Master_Log_Pos: 888301479
                Relay_Log_File: relay-bin.000002
                Relay_Log_Pos: 31921757
                Relay_Master_Log_File: mysql-bin.00100     # 从库SQL线程已经执行到的binlog日志
                Slave_IO_Running: No
                Slave_SQL_Running: No
                Replicate_Do_DB:
                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: 31921467                   # 从库SQL线程已经执行到的binlog日志的position
                Relay_Log_Space: 1962055058

注意:如果要使C库数据和B库一样,那么要以Relay_Master_Log_File和Exec_Master_Log_Pos这两个参数为准恢复数据

我的操作流程是这样的:

    1. 首先在C库上导入,在mysql-bin.00101的时候从库的备份,
    2. 根据从库做全备时保留的slave status,将mysql-bin.00100中还没有同步的数据导出为sql,(mysqlbinlog --start-position=31921467 /mysql-bin.00100 > ./100.sql).
    3. 然后陆续将mysql-bin.00101之后和主库宕机时mysql-bin.00104的binlog日志转为sql.
    4. 将这些sql导入.
    5. 将addsql.sql导入.
    6. B库授权replication slave,然后C库change master 到B库即可

相关内容

热门资讯

“特高课”再现?日本强推“国家... 无视反对战争正义呼声 复刻战前军国主义体制日本强推“国家情报局”引发广泛担忧和批评(国际视点)本报记...
6G相比5G不只是速度更快 将...   6G相比5G不只是速度更快  【6G相比5G不只是速度更快】7月28日,相比5G,6G不仅是速度...
趣享夏日消保同行 泰康人寿深圳...   7月12日,为落实2026年“7·8全国保险公众宣传日”工作部署,泰康人寿深圳分公司结合三十周年...
泰康人寿深圳分公司联合泰康养老...   为深入践行金融工作的政治性、人民性,切实守护新就业群体的财产安全,7月23日下午,在深圳市居民金...
中牟改善买房必看:三代宅和四代... 准备在中牟买改善房的人,十有八九会纠结同一个问题:到底是买传统的第三代住宅,还是紧跟郑州置业主流买第...
徐巧芯剖析赖清德:最怕自己丢掉... 海峡导报综合报道 大罢免投票一周年纪念活动26日举行,台北市长蒋万安出席并怒轰,民进党一年过后仍没有...
中国红十字会总会紧急向广东调拨... 记者从中国红十字会总会了解到,针对台风“红霞”给广东造成的灾情,中国红十字会总会启动四级应急响应,紧...
这些少年,正被“毒蛋”围猎 李梦抽了几口电子烟,吐出了白色的烟雾,有一股浓烈的水果香味。随后,她看着自己握电子烟的手,跟身边人说...
蒋万安号召“倒阁”,卢秀燕认为... 海峡导报综合报道 台北市长蒋万安27日抛出震撼议题,表示多名民代向他提议推动“倒阁”,要求台行政机构...
特朗普将在白宫会见两位重要客人 俄乌战争仍未结束,美伊冲突又有升级风险。在此背景下,美国总统特朗普将在白宫接见乌克兰和以色列领导人。...