MySQL数据库修复MyISAM表 浏览:679

1:在MySQL的MyISAM表损坏的原因如下:

1、对服务器突然断电造成的数据文件被损坏;强制关机,MySQL服务未关闭第一;的mysqld进程时被桌子上写。

2,磁盘损坏。

三.服务器已死。

4,MySQL本身的错误。

二:对MySQL的MyISAM表损伤症状总结:

1,查询数据时间错误:表的错误密钥文件:……尝试修复它

2,查询无法查找表中的行或返回不完整的数据。

3,错误:表…被标记为崩溃,应该修复。

4。打开表失败:无法打开文件:X x.myi(错误:145)。

三:在MySQL MyISAM表损伤的预防:

1、定期检查MyISAM表。你可以用myisamchk,你可以使用mysqlcheck,您可以使用检查表。

2,在做了大量的更新或删除操作,使用mysqlcheck或优化表优化数据表,这不仅降低了文件碎片,也降低了表损坏的概率。3。在关闭服务器,关闭mysqld(关闭服务通常不使用杀9杀进程)。

4。使用ups电源避免突然停电。

5,使用MySQL的最新稳定版本,减少MySQL本身的错误会导致表损坏。

6,对磁盘进行磁盘扫描,减少磁盘错误,提高性能。

7、数据库服务器应只运行mysqld和其他必要的服务,并没有运行其他业务服务,从而降低对这次空难造成的表损坏的可能性。

四:MyISAM表腐败修复MySQL的总结:

1、如果mysqld已经坏了,无法启动,您可以使用mysiamchk工具修复。这个工具可以用来当mysqld服务没有启动。该工具可以检查和分析和修复MyISAM表。

2、如果mysqld正在运行或可重新启动,可以用工具修复mysqlcheck。或修复它直接通过内置修复SQL语句MySQL:检查表、修表、分析表、优化表。这两种方法也可以达到修表。上述两方法应用场景。

在MySQL数据表的巧妙修复被恢复到MySQL表之前,首先要知道哪个表是问题所在。

你可以用根登录并找到表名在information_schema问题

选择table_schema作为db_dbname,从information_schema.tables在发动机空table_name;

它可以在事件查看器中找到,如果有的话。

应用程序日志类型是错误——来自事件源的MySQL的错误日志,可能是内容。

1 xxxxx:表。xxxx'is标记为坠毁,必须修复

或者直接看在phpmyadmin这表是没有问题的,如显示器的使用

如果你的问题上看,你可以使用一个命令来修复MyISAM表在MySQL数据库

1、检查、修理

例如,ABC测试表有问题。

复制代码代码如下所示:

# MySQL U根p'abc '; / / MySQL登录控制台,进入ABC数据库

MySQL >检查表测试; / /如果在msg_type有问题将被警告或错误,没有问题的结果是,现状是好的

修复表测试;测试修复表(用逗号分隔的多个表名称)

检查表测试;再次检查以确认修复是否成功。



2。myisamchk,isamchk

myisamchk适用于数据表的表式,并isamchk适用于ISAM型MySQL数据表,这两个命令的主要参数是相同的。总的来说,新的系统使用MyISAM作为默认的数据类型,这是用myisamchk为例说明。当数据表被发现有问题,可以用:

tablename.myi myisamchk

测试,如果需要修理,可以使用:

myisamchk - tablename.myi

用myisamchk详细规格,看到它的使用帮助。当我们需要注意的是,我们需要确保MySQL服务器不能访问MySQL数据表的修改。当它被保险时,最好在测试时关闭MySQL服务器关机。

mysqladmin -中- P关机

此外,你可以把下面的命令在rc.local启动MySQL服务器。

{ x / / MySQL TMP。袜子} / / pathtochk myisamchk - / / / * * data_dir。我

/ /到MySQL监控袜子TMP文件位置的用户应该使用RPM / / / MySQL库功 / / 到安装,TMP /到安装使用源代码,可以根据自己的实际情况发生变化,与pathtochk是kill -9的位置,data_dir是你的MySQL数据库存储位置。

当你需要注意的是,如果你打算把这个命令在你的rc.local,您必须确认执行这条指令时,MySQL服务器不能启动。

三.检测和修复所有数据库(表)

复制代码代码如下所示:

mysqlcheck - O·R·P

mysqlcheck -数据库- R

推荐文章1
广告