暂无图片
Mysql中的一个表经常出现Table ‘XXX’ is marked as crashed and last (automatic?) repair failed,有什么原因会导致出现这个问题
我来答
分享
清晨到日暮
2021-09-24
Mysql中的一个表经常出现Table ‘XXX’ is marked as crashed and last (automatic?) repair failed,有什么原因会导致出现这个问题
暂无图片 5M

Mysql中的一个表经常出现Table ‘XXX’ is marked as crashed and last (automatic?) repair failed,有什么原因会导致出现这个问题

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Lucifer三思而后行
暂无图片

此错误为表损坏,修复即可。一般原因为服务器突然断电,而有程序还在往表里写数据。或者表的数据很大。避免浪费时间去修表。注意服务器操作时停掉数据库。

修复

  • 1、先停止 MySQL:service mysqld stop
  • 2、进入到 MySQL 数据库的文件存放目录,比如
cd /data/mysql_data/xx_db
复制

然后执行如下命令:

myisamchk --safe-recover -f -r *.MYI
复制

执行完成后,为了保险起见,我们要将文件的权限改回 MySQL 的运行账号(自行查看),比如 mysql:

chown -R mysql:mysql .
复制
  • 3、启动 MySQL:service mysqld start
  • 4、最后,执行再次自动修复优化命令即可解决:
mysqlcheck --auto-repair --optimize --all-databases -p密码
复制

希望能帮助到你~

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
MySQL 有没有替代undrop-for-innodb的工具?
回答 1
1、首先DML导致的数据丢失binlog闪回使用逆向解析BINLOG工具来恢复:如binlog2sql、MyFlash、my2sql等2、配置innodbforcerecovery逐级配置innodb
MySQL主从架构读写分离和读负载均衡都是怎么做的
回答 2
实现MySQL主从同步、读写分离和负载均衡的方法有多种选择,以下是一些常见的实现方式:MySQLProxy:MySQLProxy是一个常用的中间件,用于实现MySQL的读写分离和负载均衡。它可以拦截和
mariadb 10.3.10迁移到MySQL8.0.31,如何操作?
回答 1
mysqldump导出数据库,在导入mysql8.0.31数据库中
以下关于 InnoDB 引擎 MySQL 索引的描述,正确的是?
回答 1
已采纳
以下关于InnoDB引擎MySQL索引的描述,正确的是?ABCDA聚集索引不一定是主键Bmysql会按照聚集索引顺序存储表数据,当没有显示定义聚集索引时,存储的数据可能是无序的C二级索引会保存聚集索引
mysql如何执行@作为结束符的sql文件
回答 1
在脚本中加一行DELIMITER@ 结束符就是@而不是;了如果要改回分号,可以用 DELIMITER;
MySQL用于控制和显示收集诊断信息的存储过程有哪些?
回答 2
已采纳
如下存储过程用于控制和显示收集诊断信息:pssetupdisablebackgroundthreads():不启用所有后台线程的诊断信息收集。pssetupdisableconsumer():使用li
MySQL truncate对事务还有索引会不会产生影响?
回答 1
TRUNCATETABLE将在事务块中间导致隐式提交,不影响索引
mysql中字段格式为 decimal(12, 3)数据导入到sql server的 decimal(12, 3)中报错:数值超出范围
回答 1
试试改SQLSERVER的(15,3).因为mysql那段你改不了。
MySQL在全文本搜索的函数中,用于指定被搜索的列的是?
回答 1
已采纳
MySQL在全文本搜索的函数中,用于指定被搜索的列的是BMATCH()
mysql中sql在终端找不到命令?
回答 1
已采纳
可以安装Mac版本的mysqlshell或者mysqlworkbench连接工具,有dmg安装包,直接安装就行;https://dev.mysql.com/downloads/