场景:由于我重启了服务器,导致mysql进入到zsd数据库中无法使用.
******************代码片段*************************
mysql> use zsd;
Database changed
mysql> select * from pet;
ERROR 1017 (HY000): Can't find file: './zsd/pet.frm' (errno: 13)
mysql> exit
******************代码片段*************************
解决方法:(查找.frm文件,cd到相应目录下,修改权限)
[root@ora11gr2 ~]find / -name "*.frm" -print (查找.frm文件)
/var/lib/mysql/zsd/pet.frm
[root@ora11gr2 ~]# cd /var/lib/mysql/zsd/
[root@ora11gr2 zsd]# chown mysql:mysql *
更改之后,发现,问题还是无法解决,cd..之后,发现上一个目录zsd还是root权限的,改成mysql即可
[root@ora11gr2 ~]#cd ..
[root@ora11gr2 mysql]# ll
total 28820
-rw-rw---- 1 mysql mysql 18874368 Apr 9 09:50 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Apr 10 01:30 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Apr 9 08:25 ib_logfile1
-rw-rw---- 1 mysql root 9960 Apr 10 03:09 localhost.localdomain.err
-rw-rw---- 1 mysql mysql 5 Apr 10 01:30 localhost.localdomain.pid
-rw-rw---- 1 mysql mysql 6197 Apr 9 09:00 localhost.log
-rw-rw---- 1 root root 5 Apr 9 09:22 localhost.pid
drwx--x--x 2 mysql mysql 4096 Apr 9 07:54 mysql
srwxrwxrwx 1 mysql mysql 0 Apr 10 01:30 mysql.sock
drwx------ 2 mysql mysql 4096 Apr 9 08:08 performance_schema
-rw-r--r-- 1 mysql mysql 113 Apr 9 07:54 RPM_UPGRADE_HISTORY
-rw-r--r-- 1 mysql mysql 113 Apr 9 07:54 RPM_UPGRADE_MARKER-LAST
drwx------ 2 root root 4096 Apr 9 09:33 zsd(发现zsd用户还是root权限的)
再次,修改zsd目录权限,即可恢复正常
[root@ora11gr2 mysql]# chown mysql:mysql zsd
--转自