使用binlog还原mysql数据库及数据
不小心将数据库删除后,若有启用日志操作记录可通过binlog进行数据还原(在Mysql下执行)
查询是否开启 ==> show variables like 'log_bin';
查询正在使用的操作记录 ==> show master status;
查找binlog文件(不一样的版本对应的名字会不相同),我的路径存放在/var/lib/mysql/binlog.000*** (cd ../ ==> cd var ==> cd lib ==> cd mysql ==> ls)
我这里是直接通过sql语句查找对应的日志内容(其他方法自行百度),然后将需要的内容全部导出查看
sql ==> show binlog events in 'binlog.000003';
找到对应的pos号之后,在命令行直接输入需要的pos导出
mysqlbinlog --start-position=125 --stop-position=5288 /var/lib/mysql/binlog.000003 >bin.sql (bin.sql为生成的sql文件,默认位置在root下)
最后便可在Mysql执行对应命令
关闭日志记录 ==> set sql_log_bin=0;
执行导出数据日志 ==> source /root/bin.sql;