Php MySQL说:#1194-表';表名';标记为已崩溃,应进行维修
如果表崩溃,这意味着我的系统有问题Php MySQL说:#1194-表';表名';标记为已崩溃,应进行维修,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,如果表崩溃,这意味着我的系统有问题 MySQL said: #1194 - Table 'tablename' is marked as crashed and should be repaired 我的网站目前因此关闭 我知道如何从phpmyadmin处修理桌子,但这是安全的修理方法吗 这个问题的重要因素是什么 问题。一般来说,为什么表会崩溃 答案。这些可能是以下原因: 服务器的磁盘空间已满。(请检查live server中的磁盘空间) 不正确地关闭MySQL服务器/在使用数据库时不正
MySQL said:
#1194 - Table 'tablename' is marked as crashed and should be repaired
我的网站目前因此关闭
我知道如何从phpmyadmin处修理桌子,但这是安全的修理方法吗
这个问题的重要因素是什么
问题。一般来说,为什么表会崩溃
答案。这些可能是以下原因:
是的,您可以从phpmyadmin修复表,它不会影响您的数据,您也可以使用“myisamchk”命令从shell修复表。首先,导致表崩溃的原因有很多
- 硬盘故障
- 服务器突然重启
- 服务器崩溃
- 固件问题(raid控制器或bios)
- 布线中的缺陷
- 等等
mysqlrepair -A --auto-repair
mysqlrepair -A -o
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
或开始测试:
mysqlrepair -A -c
我从命令行使用它:
mysqlrepair -A --auto-repair
mysqlrepair -A -o
mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
使用:
输入用户root的MySQL密码,一切都会完成。如果您没有所需的命令行工具,并且崩溃的原因很可能是MySQL本身,请从MySQL运行此命令以修复表:
REPAIR TABLE db_name.table_name;
如果您具有服务器的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
上,在获得一些可用磁盘空间后,您可以运行查询(如上所述):
最后一行是:
Table OP Msg_type Msg_text
...
db.mytablecrashed repair status OK
解决方案: 只需转到数据库并选择有问题的表,然后选择“修复表”选项,它将修复表中的崩溃条目并解决您的问题
您可以发布查询吗?这可能会有帮助,“一般来说,为什么表会崩溃?”因为它是MyISAM。。。它以不安全著称。你目前的系统正常运行时间是多少?可能是系统关闭不当。检查日志,/var/log/messages和mysqld.log,这可能是OOM killer或mysqld进程失败。如果磁盘空间已满,会发生什么情况?它给出:“错误:mysqlcheck不支持多个相互矛盾的命令。”对,我也收到了相同的错误。删除--优化,然后它就会工作。它说没有安装mysqlrepair。这与运行mysqlcheck-uUSER-pPASSWORD-repair-extended-A相同吗