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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 服务器
, 数据
, 磁盘
, 进程
错误
mysql 修复数据表、mysql 修复数据表命令、mysql数据表修复工具、mysql 数据表 使用中、mysql 使用中 修复,以便于您获取更多的相关知识。

时间: 2024-09-14 16:48:22

Mysql数据表一直显示使用中的修复方法的相关文章

如何修复超过1G的MYSQL 数据表 数据表在MYSQL中显示状态是“使用中”.

问题描述 如何修复超过1G的MYSQL 数据表 数据表在MYSQL中显示状态是"使用中". 如何修复超过1G的MYSQL 数据表 数据表在MYSQL中显示状态是"使用中",但是无法查看数据表中的数据,用REPAIR无法修复数据表 解决方案 先停止mysql服务,然后再尝试修复看看.

MySQL数据表在phpmyadmin中的强制修复

是数据库就难免出错,出了错就肯定需要修复. phpmyadmin是很好的mysql管理工具,他里面就有针对某个数据库中某个表的修复功能.但是当这个表已经无法打开的时候就根本看不到这个操作(实际上是web连接). 其实随便找一个正常的数据库中正常的数据表,我们看看这个修复连接:http://localhost/phpmyadmin/sql.php?lang=zh-gb2312&server=1&db=mydb&table=mytable&goto=tbl_properties

详解:MySQL数据表损坏的正确修复方案

修复以损坏的MySQL数据表的实际操作在实际中是我们经常用到的,以下的文章主要是介绍正确修复以损坏的MySQL数据表的实际操作步骤,以下就是正文的介绍,希望会给你带来一些帮助在此方面. 于断电或非正常关机而导致MySQL(和PHP搭配之最佳组合)数据库出 现错误是非常常见的问题.有两种方法,一种方法使用MySQL(和PHP搭配之最佳组合)的check table和repair table 的sql语句,另一种方法是使用MySQL(和PHP搭配之最佳组合)提供的多个myisamchk, isamc

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型 数据库表的类型? MySQl主要使用两种存储引擎:MyISAM 和 Innodb.MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback).当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎).如果没有选择,你就会使用与预设置的默认引擎. 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到. 方法一 如果你可以访问phpMyAdmin

如何把Excel导入mysql数据表的方法详解

方法一 把Excel导入mysql数据表,首先新建数据表,新建字段,字段数量和excel的表格列数量保持一致.然后把Excel文件另存为csv或者txt文本文件放在桌面上面然后执行如下命令: 一:保存为csv导入方法 load data local infile 'C:\\Users\\xwidea\\Desktop\\areaid_v.csv' into table 数据表名称 fields terminated by ',' 二:保存为txt文本文件导入方法 load data local

将jsp页面的mysql数据表导出为excel文档

问题描述 将jsp页面的mysql数据表导出为excel文档 请问如何将jsp页面上的数据导出为文档,该数据表中的数据来自mysql数据库中的数据表,通过一个导出按钮导出,哪位大神可以给出示例代码,急求!! 解决方案 循环遍历你的数据,然后调用poi生成excel 例子http://blog.csdn.net/ptzrbin/article/details/8751293 解决方案二: 如何将MySQL数据表的结构导出到excel文件如何把JSP页面导出到Excel中?

备份MYSQL数据表结构与数据库结构教程

备份MYSQL数据表结构 [root@Mysql ~]# /usr/local/mysql/bin/mysqldump -uroot -p'admin' -d mysql servers>/backup/mysql-structure-tables-$(date +%F).sql [root@Mysql ~]# egrep -v "^$|^--|*" /backup/mysql-structure-tables-2014-06-05.sql DROP TABLE IF EXIST

jsp修改mysql数据表代码

jsp修改mysql数据表代码  function repair($tables,$operation)  {   $tables = is_array($tables) ? implode(',',$tables) : $tables;   if($tables && in_array($operation,array('repair','optimize')))   {    $this->db->query("$operation TABLE $tables&q

U盘图标显示错误的修复方法

  U盘图标显示错误的修复方法          你遇到过当U盘连接电脑时,在"我的电脑"里的U盘图标竟然跟普通文件夹一样,就算用杀毒这些工具也没有用,不用担心,试一下介绍的以下这种方法: 依次点击"开始","所有程序"," 附件","记事本". 然后把以下的源代码拷到记事本里: @echo off @echo +------------------------------------------+ @ec