【问题标题】:mysql: ERROR 1018 (HY000): Can't read dir of '.'mysql: ERROR 1018 (HY000): Can't read dir of '.'
【发布时间】:2013-05-23 22:05:44
【问题描述】:

我正在尝试为 mysql (OS Ubuntu 12.04) 设置不同的数据目录,例如/mnt/mysql/mysql.

我正在执行:

sudo mysql_install_db --user=mysql --datadir=/mnt/mysql/mysql
sudo /etc/init.d/mysql start
mysql -uroot

问题是查询SHOW DATABASES; 给出了ERROR 1018 (HY000): Can't read dir of '.' (errno: 13),但像SHOW TABLES FROM mysql 这样的查询工作正常。

为什么?

【问题讨论】:

  • 问题是相同的,@CRRaD。如果您无法让现有解决方案发挥作用,请发表评论,要求澄清如何应用它,或提供赏金以吸引更多答案。不要简单地重新发布问题,因为这对任何人都没有帮助。谢谢

标签: mysql ubuntu-12.04 dir


【解决方案1】:

我遇到了完全相同的问题。 mysqldata 文件夹的所有者和权限是正确的。但是还是说:mysql: ERROR 1018 (HY000): Can't read dir of '.'

我已经为此苦苦挣扎了一整天。最后我解决了。 请检查/etc/apparmor.d/usr.sbin.mysqld 文件。 它应该是/data/mysql/ r,而不是。我错过了一个正斜杠

我改变之后(vi /etc/apparmor.d/usr.sbin.mysqld)

    /data/mysql r,
    /data/mysql/** rwk,

到(不要错过斜线

    /data/mysql/ r,
    /data/mysql/** rwk,

然后重启AppArmor和mysql。

    sudo service apparmor restart
    sudo service mysql restart

之后错误就消失了!

【讨论】:

    【解决方案2】:

    这似乎是一个权限问题。可能的修复:

    chown -R mysql.mysql /mnt/mysql/mysql
    

    【讨论】:

    • 万一一切都归mysql:mysql所有,而且chmoded 777,怎么读不出来?
    猜你喜欢
    • 2013-10-09
    • 2011-01-29
    • 1970-01-01
    • 2018-10-04
    • 2016-04-08
    • 2020-08-16
    • 2019-06-28
    • 2010-09-14
    • 2014-04-12
    相关资源
    最近更新 更多