MYSQL数据库恢复(误删操作)

1.安装依赖

pip3 install PyMySQL==0.7.8

pip3 install wheel==0.24.0

pip3 install mysql-replication==0.9

mysql8的版本问题,安装对应的binlog2sql工具版本

pip3 uninstall PyMySQL pip3 install PyMySQL==0.9.3

2.Binlog2sql的使用

2.1解压binlog2sql.zip到任意位置,如/usr/local

ps: binlog2sql参数说明:

--stop-never 持续同步binlog。可选。不加则同步至执行命令时最新的binlog位置。

-K, --no-primary-key 对INSERT语句去除主键。可选。

-B, --flashback 生成回滚语句,可解析大文件,不受内存限制,每打印一千行加一句SLEEP SELECT(1)。可选。与stop-never或no-primary-key不能同时添加。

解析范围控制

--start-file 起始解析文件。必须。

--start-position/--start-pos start-file的起始解析位置。可选。默认为start-file的起始位置。

--stop-file/--end-file 末尾解析文件。可选。默认为start-file同一个文件。若解析模式为stop-never,此选项失效。

--stop-position/--end-pos stop-file的末尾解析位置。可选。默认为stop-file的最末位置;若解析模式为stop-never,此选项失效。

--start-datetime 从哪个时间点的binlog开始解析,格式必须为datetime,如'2016-11-11 11:11:11'。可选。默认不过滤。

--stop-datetime 到哪个时间点的binlog停止解析,格式必须为datetime,如'2016-11-11 11:11:11'。可选。默认不过滤。

对象过滤

-d, --databases 只输出目标db的sql。可选。默认为空。

-t, --tables 只输出目标tables的sql。可选。默认为空。

2.2查找mysql的binlong文件

2.3执行

示例:

python3 /usr/local/binlog2sql/binlog2sql.py --flashback -h 你的ip地址 -uroot -p'密码' -d 数据库 -t 表名 --start-file='binlog.001273' --start-datetime='2023-09-01 10:00:00' --stop-datetime='2023-09-01 11:30:00' >/usr/local/rec.sql

你可能感兴趣的:(数据库,mysql,adb)