暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
mysql 数据库恢复.docx
301
13页
1次
2022-04-25
5墨值下载
Mysql binlog
数据恢复
开发人员在测试环境和生产误操作导致数据库误删除
/
更新,对
DBA
而言,
回滚数据着实是一件头疼的事情,凡涉及到恢复线上数据必然对应用带来一定
的影响。大多数情况是开发误操作
delete
数据,
update
多数行,根据之前的操
作经验,本文介绍
2
种的恢复方法应对紧急情况。
条件
1.
使用回滚
/
闪回功能时,
binlog
格式必须为
row,
binlog_row_image=full DML
统计以及大事务分析不受影响
> show variables like 'binlog_%';
2.
只能回滚
DML
SELECT,INSERT,UPDATE,DELETE ...
),
不能回滚
DDL(CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME...)
第一种 闪回脚本安装(适用于离线
binlog
恢复)
rollb ack.py
M ySQL-pytho n-
1.2.5.zip
此脚本环境利用
python2
外加一个
mysqldb
接口包。对
binlog
进行分析并进行反向操作。
环境配置
>python -V
查看
py
版本
>cd /opt
>unzip MySQL-python-1.2.5
>cd MySQL-python-1.2.5
>Python setup.py install
安装
mysqldb
接口
>
安装完成
> find / -name libmysqlclient.so.20
>ln -s /usr/local/mysql/lib/libmysqlclient.so.20.3.20(
) /usr/lib/libmysqlclient.so.20(
目的
)
>ldconfig (
生效动态库
)
>
配置完成
执行命令
python rollback.py -f '/usr/local/mysql/log/mysql-bin.000001' -o 'text3.sql' -u root -p 123456 -P
3306 --start-datetime='2021-11-12 11:07:16' -d testdb
演示示例
CREATE TABLE `table1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`c1` int(11) DEFAULT NULL,
`c2` varchar(20) DEFAULT NULL,
`c3` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
);
源数据
mysql> select * from report.table1
-> ;
+----+------+------+------+
| id | c1 | c2 | c3 |
+----+------+------+------+
| 4 | 1 | a | 1 |
| 5 | 2 | b | 2 |
| 6 | 3 | c | 3 |
| 7 | 1 | a | 1 |
| 8 | 2 | b | 2 |
| 9 | 3 | c | 3 |
| 10 | 1 | a | 1 |
of 13
5墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜