2.利用进程pid查看对应的文件描述符 [mysql@mvxl0782 binlog]$ ll /proc/18401/fd|egrep 'ib_|ibdata' lrwx------ 1 mysql mysql 64 8月 11 10:33 10 -> /mysql/server/data/ib_logfile1 lrwx------ 1 mysql mysql 64 8月 11 10:33 11 -> /mysql/server/data/ib_logfile2 lrwx------ 1 mysql mysql 64 8月 11 10:33 4 -> /mysql/server/data/ibdata1 lrwx------ 1 mysql mysql 64 8月 11 10:33 9 -> /mysql/server/data/ib_logfile0
上面的10、11、4和9就是我们要恢复的文件
3、关闭前端业务或执行flush tables with read lock; 不让有数据写入
4、验证有没有数据写入
a.先输入下面命令,让脏页尽快写入到磁盘里 set global innodb_max_dirty_pages_ptc=0; b.查看binlog日志写入情况,确保file和position没有变化 show master status; c.最后查看innodb状态信息,确保脏页已刷入到磁盘中 show engine inndodb status/G
LOG Log sequence number xxxx Log flushed up to xxxx Last checkpoint at xxx ##确保这3个值不在变化
5.恢复操作
[mysql@mvxl0782 binlog]$ ll /proc/18401/fd|egrep 'ib_|ibdata' lrwx------ 1 mysql mysql 64 8月 11 10:33 10 -> /mysql/server/data/ib_logfile1 lrwx------ 1 mysql mysql 64 8月 11 10:33 11 -> /mysql/server/data/ib_logfile2 lrwx------ 1 mysql mysql 64 8月 11 10:33 4 -> /mysql/server/data/ibdata1 lrwx------ 1 mysql mysql 64 8月 11 10:33 9 -> /mysql/server/data/ib_logfile0