远程mysql ERROR 1018

mysql问题:
mysql> use asterisk;
Database changed
mysql> show tables;
ERROR 1018 (HY000): Can't read dir of './asterisk/' (errno: 13)

原因:

查看这个数据库的目录属性:(#cd /usr/local/mysql/var; #ll -t )
这个库目录的属主不对,使用chown修改之,表信息都正常了。
此时可以#ls -l 或 #ll 查看该目录的详细信息,就可发现库目录的属主不是mysql

解决方法:
查看MySQL的数据目录,一般无法读取表都是复制过来的数据库,即使root用户也无法读取表,需要修改目录权限。

修改目录权限,使用命令:chown -R mysql:mysql /var/lib/mysql/cnapscips (root用户执行)

其中 /usr/local/mysql/var/ 为mysql数据库存储目录

注意:这里的cnapscips是我的数据库名称,修改权限的时候,一定要换成你自己不能读的那个数据库名称

再次使用show cnapscips;

你可能感兴趣的:(远程mysql ERROR 1018)