早晨发现网站打不开了,我看了下是磁盘满了,然后我删了点没用的东西,重启apache就好了
然后发现某些功能用不了了,排查之后看到这些功能用的表都是innoDB的,show tables可以看到表,打开显示表不存在
请问怎么解决?
然后发现某些功能用不了了,排查之后看到这些功能用的表都是innoDB的,show tables可以看到表,打开显示表不存在
请问怎么解决?
1
Livid MOD PRO 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 ,这样,备份和修复的几率都会更大一些 |
2
huigeer Dec 10, 2014 备份啊 备份啊, 不作死就不会死
|
3
muziyue OP @Livid 刚刚注意到,ibdata1只剩10MB了……我还是直接从备份里面恢复吧,修复估计没戏了
repair table提示doesn't exist |
4
yakczh Dec 10, 2014
mysql 备份有什么好的方案
|
5
huigeer Dec 10, 2014
非死不可的备份软件
|
6
stiekel Dec 10, 2014
估计没有设置数据分文件存放,又干掉了ibdata1——以前碰到好几次,清理磁盘空间删ibdata1的。
|
7
typcn Dec 10, 2014
清理的时候 只删 mysql_binxxx 就可以了(如果没有回档需求),不要删掉*data....
|
9
kaneg Dec 10, 2014
我就是因为被innodb坑过,所以现在只敢用myisam,尽管可能性能会有点不如。
|