1.找到Mysql二进制文件日志,cd /var/lib/mysql,查看 binlog.00000X文件
如果不知道具体是哪里一个 可以用命令查询
如图所示,binlog.000007 就是记录我所有数据的二进制文件。
2.直接打开肯定行不通,此时你需要使用utf8来转换下,我把二进制日志转化并追加到文本。
3.vim a.txt
可以看到日志内容是以事务的方式来运行的,这里就可以看到我的操作信息,我们记录下 at后面的编码,后面根据这个来恢复删除的数据。
3. sudo mysqlbinlog --start-position=933 --stop-position=1119 binlog.000007 | mysql -uroot -p
使用mysqlbinlog工具恢复binlog文件,并且注明开始节点和结束节点,然后用mysql登录查看,检验数据的完整性能。
4.mysqlbinlog还可以根据时间节点,–start-datetime –stop-datetime 来恢复。
建议大家还是要及时做备份,因为数据大了之后,找日志可能不太好找,而且binlog默认保存30天,当然可以在/etc/mysql/mysql.conf.d/mysqld.cnf文件中更改。本次实验系统是ubuntu20,Mysql8.0,因为CentOS卸载Mariadb太麻烦。