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 信息,那么可以不使用该参数,使用或者不使用都可以恢复成功。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2636462/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15498/viewspace-2636462/
本文详细解析了在MySQL Binlog操作中,如何正确使用--base64-output和--skip-gtids参数。对于--base64-output参数,文章强调其主要用于解析ROW级别binlog日志,不应在执行SQL时使用。而--skip-gtids参数,则根据目标数据库是否含有源实例GTID信息决定是否使用,以确保数据恢复的成功。
1557

被折叠的 条评论
为什么被折叠?



