有的时候,数据库跑得好好的,突然报不能打开数据库文件的错误了。
解决思路:
首先我们要先查看数据库的 error log。然后判断是表损坏,还是权限问题。还有可能磁盘空间不足导致的不能正常访问表,操作系统的限制也要关注下,相关应用限制也要关注下;
1 2 3 |
#ulimit -n 查看系统的最大打开文件数
[root@mysql-150 ~]# ulimit -n
65535
|
查看数据库的打开文件数
1 2 3 4 5 6 7 |
mysql> show variables like 'open_files_limit' ;
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 5000 |
+------------------+-------+
# 根据业务实际情况修改打开文件数一般足够用了,低版本的打开文件数,可能有点小, 注意一下
|
哪就是其他的问题了,可能是表的权限,也可能是表出问题,根据错误日志,具体分析
处理方法
-
repair table tablename
-
chown mysql.mysql 权限 目录
-
清理磁盘中的垃圾数据