- 找到最后一次成功备份的日期和时间,假设是在
2021-06-01 10:00:00
进行的备份。
登录到 MySQL 服务器,使用 mysqlbinlog 命令,查找从备份时间到误操作时间之间的 binlog 日志文件。命令格式如下:
mysqlbinlog --start-datetime="2021-06-01 10:00:00" --stop-datetime="2021-06-02 10:00:00" /var/lib/mysql/binlog.000001 > mysqlbinlog.txt
其中,--start-datetime 表示起始时间,--stop-datetime 表示结束时间,/var/lib/mysql/binlog.000001 是 binlog 日志文件的路径,> mysqlbinlog.txt 表示将输出结果保存到 mysqlbinlog.txt 文件中。
- 打开
mysqlbinlog.txt
文件,查找误删除数据的操作。 - 复制误删除操作的 binlog 日志。
- 回到 MySQL 控制台,使用 mysqlbinlog 命令来还原误删除的操作。命令格式如下:
mysqlbinlog --no-defaults mysqlbinlog.txt | mysql -u username -p dbname
其中,--no-defaults 表示不使用默认配置文件,mysqlbinlog.txt 是保存误删除操作的 binlog 日志文件,username 是 MySQL 用户名,dbname 是要还原的数据库名称。
恢复成功后,重启 MySQL 服务器。