admin管理员组文章数量:1794759
my2sql数据闪回
使用限制
- 只能回滚DML, 不能回滚DDL
- 使用回滚/闪回功能时,binlog格式必须为row,且binlog_row_image=full, DML统计以及大事务分析不受影响
- MySQL8.0版本需要在配置文件中加入default_authentication_plugin =mysql_native_password,用户密码认证必须是mysql_native_password才能解析
- 此工具是伪装成从库拉取binlog,需要连接数据库的用户有SELECT, REPLICATION SLAVE, REPLICATION CLIENT权限
- 支持指定-tl时区来解释binlog中time/datetime字段的内容。开始时间-start-datetime与结束时间-stop-datetime也会使用此指定的时区, 但注意此开始与结束时间针对的是binlog event header中保存的unix timestamp。结果中的额外的datetime时间信息都是binlog event header中的unix timestamp
下载
代码语言:bash复制wget .x/my2sql
chmod +x my2sql && mv my2sql /usr/local/bin/
更改数据
代码语言:sql复制UPDATE `test`.`t1` SET `b` = 'aa' WHERE `id` = 2
确定flashback位置
代码语言:bash复制mysql> show master status ;
+---------------+-----------+--------------+------------------+----------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+-----------+--------------+------------------+----------------------------------------------+
| binlog.000014 | 569558719 | | | aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:1-35800 |
+---------------+-----------+--------------+------------------+----------------------------------------------+
找出误操作的语句与开发确认
代码语言:bash复制my2sql -user test -password=Zzj@123456 -mode repl -work-type rollback -start-file binlog.000014 -start-datetime "2024-09-14 10:00:00" -stop-datetime "2024-09-14 10:10:00" -output-dir ./
回滚误操作
代码语言:bash复制$ ll
total 124M
-rw-r--r-- 1 root root 107 Sep 14 10:09 biglong_trx.txt
-rw-r--r-- 1 root root 288 Sep 14 10:10 binlog_status.txt
-rw-r--r-- 1 root root 315 Sep 14 10:10 rollback.14.sql
$ cat rollback.14.sql
UPDATE `test`.`t1` SET `b`='b' WHERE `id`=2;
数据闪回并不是万能的,备份恢复是最后底线。
本文标签: my2sql数据闪回
版权声明:本文标题:my2sql数据闪回 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754637130a1704631.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论