repair table导致数据丢失_MySQL
程序员文章站
2022-04-13 20:25:30
...
前天在本地测试机上,MySQL 5.1.43,MyISAM引擎,执行repair table的时候,导致数据丢失,特此记录,以前在MySQL5.0.32版本也遇到过同样的问题,所以在repair table前一定要备份。
在执行repair table的前一晚,刚看了“宇航员的妻子”的电影,虽然是个烂片,但是其中的一句话印象很深刻:“太空总署告诉我,一定要有备份”,外行人都知道的简单的道理,我却没有做到,以此谨记。
这个也是MySQL官方承认的bug,
http://bugs.mysql.com/bug.php?id=10437,
http://bugs.mysql.com/bug.php?id=1804
MySQL手册上也指出来了:
MySQL5.0 和MySQL5.1 ,
遇到同样的问题,我们该怎么规避这件事情呢?
使用myisamchk --safe-recover
还有一个牛人给我推荐了:OPTIMIZE LOCAL TABLE tablename; 这个命令的好处是对MyISAM和INNODB都起作用,呵呵,下次试试
经过测试MyISAM表遭到破坏后OPTIMIZE LOCAL TABLE tablename;是修复不了的,还是使用myisamchk --safe-recover 当然别忘记备份!
推荐阅读
-
详解Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失
-
mysql主从同步导致数据同步异常的问题梳理
-
Redis持久化--Redis宕机或者出现意外删库导致数据丢失--解决方案
-
MySQL5.7使用pt-table-checksum检查主从数据一致性的测试讲解
-
mysql切换数据库提示警告:Reading table information for completion of table and column names
-
Mysql查询语句使用select.. for update导致的数据库死锁分析
-
MySQL Error Log 文件丢失导致The server quit without updating PID file启动失败的场景
-
如何防止访问量过大导致mysql数据库挂掉了
-
MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法:
-
mysql optimize table命令导致主从延迟暴增怎么解决?