mysql错误:Can't open file: 'xxx_forums.MYI'. (errno: 145)


64x64
匿名 2017-11-08 23:33 429

mysql报不能打xxx_forums.MYI文件,这是什么原因?

mysqlpm2mvc 回答问题

2 个解决方案


1
匿名 2017-11-08T23:35:21

导致这种错误的原因:

1、服务器非正常关机,数据库所在空间已满,或一些其它未知的原因,对数据库表造成了损坏。
2、在 unix 操作系统下直接将数据库文件拷贝移动会因为文件的属组问题而产生这个错误。 

解决方法:

一、修复数据表
可以使用下面的两种方式修复数据表:(第一种方法仅适合独立主机用户)
1.使用 myisamchk ,MySQL 自带了专门用户数据表检查和修复的工具 —— myisamchk 。更改当前目录到 MySQL/bin 下面,一般情况下只有在这个下面才能运行 myisamchk 命令。常用的修复命令为:myisamchk -r 数据文件目录/数据表名.MYI;
2.通过 phpMyAdmin 修复, phpMyAdmin 带有修复数据表的功能,进入到某一个表中后,点击“操作”,在下方的“表维护”中点击“修复表”即可。
注意:以上两种修复方式在执行前一定要备份数据库。
二、修改文件的属组(仅适合独立主机用户)

1.复制数据库文件的过程中没有将数据库文件设置为 MySQL 运行的帐号可读写(一般适用于 Linux 和 FreeBSD 用户)。 


2
123456 2017-10-27T15:19:29
使用try,catch 捕捉异常,当出现异常就返回空,如:
try{
    return jdbcTemplate.queryForMap(sql, params);
}catch(EmptyResultDataAccessException ede){
    return null;
}

评论