MySql数据库表损坏的原因和修复方法

在对MySql查询或者写入时有时候会出现错误,仔细检查sql都是对的,也没排查出其他问题,这时需要考虑表是否损坏了。以下是表发生损坏的原因和修复方法。

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) 。

一般带有repair单词的错误就是表发生了损坏。可以使用微擎自带的函数pdo_debug()函数来获取错误详情。

3.MySQL 表损坏的修复
(1)使用 reapair table tablename 来修复。
(2)如果安装了数据库的可视化面板,也可以在可视化面板中操作修复表,以phpmyadmin为例,找到损坏的表,点击操作,再点击修复表即可。

2019122000122860

本文来自投稿,不代表微擎百科立场,如若转载,请注明出处:https://www.w7.wiki/develop/2995.html

发表评论

登录后才能评论