加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

使用 mysqlbinlog 命令还原数据时需要注意哪些问题

发布时间:2023-11-02 13:26:08 所属栏目:MySql教程 来源:
导读:这篇文章将为大家详细讲解有关mysqlbinlog命令恢复数据要注意的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.不要使用 base64-output=decode-rows 参数--base64

这篇文章将为大家详细讲解有关mysqlbinlog命令恢复数据要注意的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1.不要使用 base64-output=decode-rows 参数

--base64-output=decode-rows主要是解析或查看ROW级别binlog日志时使用,执行SQL时不要使用该参数。

例如:

/usr/local/mysql-8.0.13/bin/mysqlbinlog mysql-bin.000004 | mysql -uroot -p'123456'

或者

/usr/local/mysql-8.0.13/bin/mysqlbinlog mysql-bin.000004 > /tmp/rollback.sql

mysql -uroot -p'123456' < /tmp/rollback.sql

2.是否应该使用--skip-gtids=true参数

第一种情况:

如果我们是要恢复数据到源数据库或者和源数据库有相同 GTID 信息的实例,那么就要使用该参数。如果不带该参数的话,是无法恢复成功的。

# /usr/local/mysql-8.0.13/bin/mysqlbinlog --skip-gtids=true mysql-bin.000001 |mysql -uroot -p

或者

# /usr/local/mysql-8.0.13/bin/mysqlbinlog --skip-gtids=true mysql-bin.000001 > rollback.sql

mysql -uroot -p'123456' < rollback.sql

第二种情况:

如果是恢复到其他实例的数据库并且不包含源实例的 GTID 信息,那么可以不使用该参数,使用或者不使用都可以恢复成功。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章