求助啊,innoDB 的数据库全部打不开了

2014-12-10 13:07:50 +08:00
 muziyue
早晨发现网站打不开了,我看了下是磁盘满了,然后我删了点没用的东西,重启apache就好了
然后发现某些功能用不了了,排查之后看到这些功能用的表都是innoDB的,show tables可以看到表,打开显示表不存在
请问怎么解决?
4308 次点击
所在节点    MySQL
10 条回复
Livid
2014-12-10 13:19:42 +08:00
1. 看一下磁盘上 InnoDB 的那个文件的尺寸
2. 看一下 MySQL 启动时候的日志
3. 把 InnoDB 的数据文件备份一下之后,先尝试 repair table
4. 你可能会需要这个文档里的做法:

http://dev.mysql.com/doc/refman/5.1/en/forcing-innodb-recovery.html

5. 这次如果修好了,将来记得打开 innodb_file_per_table ,这样,备份和修复的几率都会更大一些
huigeer
2014-12-10 13:23:27 +08:00
备份啊 备份啊, 不作死就不会死
muziyue
2014-12-10 13:24:12 +08:00
@Livid 刚刚注意到,ibdata1只剩10MB了……我还是直接从备份里面恢复吧,修复估计没戏了
repair table提示doesn't exist
yakczh
2014-12-10 13:27:57 +08:00
mysql 备份有什么好的方案
huigeer
2014-12-10 13:54:02 +08:00
非死不可的备份软件
stiekel
2014-12-10 13:56:56 +08:00
估计没有设置数据分文件存放,又干掉了ibdata1——以前碰到好几次,清理磁盘空间删ibdata1的。
typcn
2014-12-10 13:58:51 +08:00
清理的时候 只删 mysql_binxxx 就可以了(如果没有回档需求),不要删掉*data....
muziyue
2014-12-10 14:02:03 +08:00
@typcn 不不,我清理的是网站的log文件
kaneg
2014-12-10 15:52:16 +08:00
我就是因为被innodb坑过,所以现在只敢用myisam,尽管可能性能会有点不如。
julyclyde
2014-12-14 22:22:08 +08:00
@kaneg myisam基本不具备可运维性

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/152860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX