当我们在启动mysql时,无法打开某个数据表,出现如下报错:
ERROR 1018 (HY000): Can’t read dir of ‘./zabbix/’ (errno: 13)

遇到这种情况下,我们需要查看自己的mysql配置文件 /etc/my.cnf ,查看其中的路径文件所对应的所属用户,或者读写权限。
cat /etc/my.cnf


经过 对该目录下的一系列查看,发现问题

报错原因:【权限问题】zabbix目录的所属权限为root,导致数据库中的zabbix表无法打开;
解决方案:1、修改对应mysql下的所有权限为mysql
sudo chown -R mysql.mysql /usr/local/mysql
2、然后重启 mysql服务
sudo /etc/init.d/mysqld restart

问题解决~
总结这类问题:
1、查看文件所属权限
2、查看文件所属用户
3、切换用户重启数据库
当MySQL启动时遇到无法打开数据表的问题,通常由权限错误引起。例如,某次报错显示'ERROR 1018 (HY000): Can't read dir of './zabbix/' (errno: 13)。解决方法包括检查/etc/my.cnf配置文件中的路径用户和权限,发现zabbix目录归属于root用户。通过使用'sudo chown -R mysql.mysql /usr/local/mysql'命令更改目录权限,并用'sudo /etc/init.d/mysqld restart'重启服务,成功解决了问题。此类问题的排查步骤包括查看文件权限、所属用户及重启数据库。

7509

被折叠的 条评论
为什么被折叠?



