使用二进制日志文件恢复mysql数据库非常有用,尤其是在误操作时。以下是我在 Windows 上执行此操作的方法。如果这个问题对您有帮助,请将其标记为“有用”,谢谢。
问问题
2640 次
1 回答
0
首先,我们必须检查我们是否打开了Mysql二进制日志功能。
- 打开 Mysql 命令行客户端。
- 执行命令:显示变量,如 'log_bin%'
您会看到它被标记为“开”或“关”。如果显示“off”,则需要打开配置文件“my.ini”,并在第 120 行添加以下配置。
# Binary Logging.
# log-bin
# You could change 'C:\Danny\MySql-BackUp\log-bin' to your own directory.
log_bin=C:\Danny\MySql-BackUp\log-bin\mysql-bin
您可以在“C:\ProgramData\MySQL\MySQL Server 5.7”中找到“my.ini”。
之后,当数据库中的数据发生变化时,您将获得二进制日志文件。
将日志文件导出到 sql 文件,这可以帮助您更轻松地找到要恢复的时间戳和编号。下面是cmd命令:
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqlbinlog.exe C:\Danny\MySql-BackUp\log-bin\mysql-bin.000003 > C:\Danny\MySql-BackUp\log-bin\bin-log.sql
您需要在 bin-log.sql 中找到 start-positiont 和 end-position,然后执行以下命令来恢复您的数据。
C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqlbinlog --no-defaults C:\Danny\M
ySql-BackUp\log-bin\mysql-bin.000003 --start-position="4" --stop-position="912"
| mysql -uroot -p123456 databaseName
命令格式:mysql -u[用户名] -p[密码] [数据库名]
于 2018-02-01T01:45:36.610 回答