今天犯了一个天大的错误,我一星期的实验数据都没了,我的手啊,怎么这么欠呢,眼睛怎么那么歪呢,没看准,把delete看成select了,没做备份,没有办法,后来问谁都没有办法,自己从网上搜琢磨出点门道,有的好心人说,有二进制日志才有点希望,我想我也没有啊,有人说有日志文件,我想还是没有,后来到我找到自己安装mysql时写的一篇日志,这篇日志给力了,我找到了我的my.cnf的位置,然后打开它,找到log-bin=mysql-bin,后来弄了半天才明白,这个mysql-bin记录了你所有的mysql操作,那这个mysql-bin在哪呢?我哪知道,后来才知道在mysql安装目录下的var目录下,里面有好多var,你找到一个你想要的时间点。 主要方法在http://hi.baidu.com/smilehaha/blog/item/1a9ee60984a9d72a6a60fb3f.html。 里面的方法记录的不是很清晰,没经验的人不好看懂啊,找了安老师,安老师真是太给力了,帮我解决了好多次问题,这次我们一起研究了下,过程如下: 1.在var目录下,可以查看mysql-bin里面的内容,命令为[root@tu143248 var]# mysqlbinlog mysql-bin.000009,这样你就可以看到里面的mysql操作信息。 2.执行[root@tu143248 var]# mysqlbinlog /opt/mysql/var/mysql-bin.000009 mysql -u用户名 -p 密码 这个语句没有插入start时间和stop时间,这样就把mysql-bin.000009 里的所有语句都恢复了,在执行的过程中,出现了一个错误,错误的原因是mysql-bin.000009 里含有一个创建表的语句,而这个表是存在的,所以就报错了,我把这个表删了,然后又重新执行了一次。 结果所有数据都恢复了。 很开心!因为这个实验我找了很多人帮我做,很不容易。 |
|