linux下mysql当某个表出现使用中,如何修复?

来源:互联网 发布:润网数据 编辑:程序博客网 时间:2024/06/06 10:48
方法一:

重启动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

方法五:最直接有效的方法

 然后通过phpmyadmin查看archives表的时候提示:Table 'xxx'is marked as crashed and last (automatic) repair failed。这意味着该表被标记为跌宕了。于是想着修复:repair table arvhives,修复却失败了。

  只好通过mysql命令行来执行了。

  1)service mysqld stop  停止mysql服务;

  2)cd /var/local/mysql/tbl  切换到该表目录下(注意:不切换过来会总提示myisamchk一些错误导致失败);

  3)myisamchk -r xxx.MYI  (如果还是提示错误,就多加一个参数-f  强制进行。)

复制代码
[root@localhost tjinfo]# myisamchk -r dede_archives.MYI- recovering (with sort) MyISAM-table 'dede_archives.MYI'Data records: 1781- Fixing index 1- Fixing index 2- Fixing index 3- Fixing index 4
复制代码

  最后查看,成功!

注意:虽然这样成功了,但是当你再次添加文章的时候,又会出现这样的问题,所以长久的解决办法如下:        把服务器上的数据导入到本地,然后在本地用myisamchk -r -f *.MYI修复了下,然后导回去。或者修复整个数据库的MYI文件,myisamchk -r *.MYI。 

阅读全文
0 0
原创粉丝点击