mysql删库不用跑路了
前言
测试过程中删除了张表,虽然不重要,但突发奇想能否恢复,然后就有了这篇文章,使用binlog恢复数据。
binlog中的事件(show binlog events)数据恢复就会使用到该命令
1 | 查看所有的事件 |
binlog命令恢复
主要配置几个参数--start-position
:建表起始pos,--stop-position
:执行删除操作之前的pos,还有就是注意binlog.000001这个路径和文件名修改对应的即可。
1 | mysqlbinlog --start-position=157 --stop-position=175990065 D:\mysql-8.0.33-winx64\mysql-8.0.33-winx64\data\binlog.000001 | mysql -u root -p |
然后输入密码回车等待就行。
异常处理
可能会出现报编码错误的问题
unknown variable ‘default-character-set=utf8mb4’
打开mysql安装目录下的my.ini配置文件。
1 | # 服务端默认编码 |
只保留这个配置即可,其他的比如default-character-set=utf8mb4
,这些都删除,然后重启mysql即可。
windows下按 Win+R,然后输入services.msc
,然后找到运行中的mysql右键重启即可。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 晚风如诉!
评论