MySQL 说:#1194 - 表 'tablename' 被标记为崩溃,应该修复
Posted
技术标签:
【中文标题】MySQL 说:#1194 - 表 \'tablename\' 被标记为崩溃,应该修复【英文标题】:MySQL said: #1194 - Table 'tablename' is marked as crashed and should be repairedMySQL 说:#1194 - 表 'tablename' 被标记为崩溃,应该修复 【发布时间】:2013-05-30 17:13:08 【问题描述】:如果表崩溃,则表示我的系统有问题。
mysql said:
#1194 - Table 'tablename' is marked as crashed and should be repaired
因此,我的网站目前已关闭。
我知道如何从 phpmyadmin 修复表,但修复方法是否安全?
造成这个问题的重要因素是什么?
问题。一般来说,为什么表会崩溃?
答案。这些可能是原因 -
服务器的磁盘空间已满。 (请检查实时服务器中的磁盘空间)
MySQL 服务器关闭不正确/使用数据库时关闭表不正确。
更多的服务器负载。
【问题讨论】:
你可以发布查询吗? 这可能会有所帮助mysqlperformanceblog.com/2007/11/13/… “一般来说,为什么表会崩溃?”因为它是 MyISAM……它以不安全着称。 您当前的系统正常运行时间是多少?可能是系统关闭不当。检查日志,包括 /var/log/messages 和 mysqld.log,可能是 OOM 杀手或 mysqld 进程失败。 如果磁盘空间已满会怎样? 【参考方案1】:首先 - 导致表崩溃的原因有很多。
硬盘故障 服务器突然重启 服务器崩溃 固件问题(RAID 控制器或 Bios) 布线缺陷 等使用 phpmyadmin 进行修复与 mysqlrepair 命令行基本相同。我建议在命令行上修复所有内容:
mysqlrepair -A --auto-repair
mysqlrepair -A -o
或者开始测试:
mysqlrepair -A -c
【讨论】:
它说没有安装mysqlrepair。这和运行 mysqlcheck -uUSER -pPASSWORD --repair --extended -A 一样吗【参考方案2】:如果您不需要命令行工具,并且崩溃的原因很可能是 MYSQL 本身,请从 MYSQL 运行此命令来修复表:
REPAIR TABLE db_name.table_name;
【讨论】:
【参考方案3】:用途:
mysqlcheck -u root -p --auto-repair --check --all-databases
(Password prompted)
输入root用户的MySQL密码,一切就完成了。
【讨论】:
【参考方案4】:解决方案:
只需转到数据库并选择有问题的表并选择“修复表”选项它将修复表中的崩溃条目并解决您的问题
【讨论】:
【参考方案5】:是的,您可以从 phpmyadmin 修复表,它不会影响您的数据,您还可以使用“myisamchk”命令从 shell 修复表。
【讨论】:
【参考方案6】:我从命令行使用这个:
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
【讨论】:
它给出:“错误:mysqlcheck 不支持多个相互矛盾的命令。” 对,我也遇到了同样的错误。删除 --optimize 然后它将起作用。【参考方案7】:如果你有 ssh 访问服务器的权限,你可以登录然后执行:
df -h
你会看到这样的东西:
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/xxxx 19G 825M 18G 5% /
/dev/cciss/xxxx 9.4G 4.8G 4.2G 54% /usr
/dev/cciss/xxxx 15G 1.8G 12G 13% /var
/dev/cciss/xxxx 19G 18G 0G 0% /opt
/dev/cciss/xxxx 4.7G 243M 4.3G 6% /tmp
/dev/cciss/xxxx 9.4G 1.5G 7.5G 17% /home
它是安装在/opt
上的LAMP,在有一些可用磁盘空间后,您可以运行查询(如上所写):
Repair table db.mytablecrashed
然后你进入最后一行:
Table OP Msg_type Msg_text
...
db.mytablecrashed repair status OK
【讨论】:
以上是关于MySQL 说:#1194 - 表 'tablename' 被标记为崩溃,应该修复的主要内容,如果未能解决你的问题,请参考以下文章