@helosh9年前
2015/12/30
17:28 星期三
修复表是因为数据库丢失或损坏了,我们可以通过mysql自带的命令或一些工具进行修复从而使用表可以正常使用了,下文小编为各位介绍一些解决办法。
打开phpmyadmin选择数据库查看,果然有3个表显示为“使用中”。勾选之后进行“修复表”,出现错误提示不能被修复。
于是接着从“分析表”、“优化表”开始,均告失败。失败信息第一条:can’t create new temp file
1.表损坏的原因分析
以下原因是导致mysql 表毁坏的常见原因:
1、 服务器突然断电导致数据文件损坏。
2、 强制关机,没有先关闭mysql 服务。
3、 mysqld 进程在写表时被杀掉。
4、 使用myisamchk 的同时,mysqld 也在操作表。
5、 磁盘故障。
6、 服务器死机。
7、 mysql 本身的bug 。
2.表损坏的症状
一个损坏的表的典型症状如下:
1 、当在从表中选择数据之时,你得到如下错误:
Incorrect key file for table: ‘…’. Try to repair it
2 、查询不能在表中找到行或返回不完全的数据。
3 、Error: Table ‘p’ is marked as crashed and should be repaired 。
4 、打开表失败: Can’t open file: ‘×××.MYI’ (errno: 145) 。
google解决方案:强制修复 myisamchk -r -f ****.MYI,问题依旧
方法一:
重启动mysql,简单,一般会有效。
方法二:
运行SQL语句,登陆phpmyadmin,运行如下语句,多数可以决绝。
CHECK TABLE `table1`; ANALYZE TABLE `table1`; REPAIR TABLE `table1`;
方法三:
登陆phpmyadmin,首页有个“状态”标签,点击进去服务器选项卡下有个杀死进程的。
方法四:
使用linux命令解决Mysql数据表一直显示使用中。以lampp服务器集成包为例,数据库显示“使用中”,操作命令如下:
/opt/lampp/lampp stopmysql cd /opt/lampp/var/mysql/ /opt/lampp/bin/myisamchk -f miningplants/wp_options.MYI (数据库名、数据表名) /opt/lampp/lampp startmysql
你必须 登录 后再回复。