MySQL的错误:ERROR 1018(HY000):无法读取目录 '' (错误

2019-06-25 13:16发布

当我尝试在MySQL查看数据库我得到这个错误:

ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)

这停止我的应用程序无法显示...

我的Django的调试器说:

(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/my_database' (13)")

这里是我的设置文件:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'my_database',                      # Or path to database file if using sqlite3.
    'USER': 'root',                      # Not used with sqlite3.
    'PASSWORD': '****',                  # Not used with sqlite3.
    'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
    'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.

什么会导致什么问题?

提前致谢

Answer 1:

您需要设置所有权和权限目录:

chown -R mysql:mysql /var/lib/mysql/ #your mysql user may have different name
chmod -R 755 /var/lib/mysql/

注: -R使得递归的命令-你可以忽略它,如果在没有子目录/var/lib/mysql/



Answer 2:

对于我们OS X用户,这应该工作:

sudo chown -R mysql:mysql /usr/local/mysql/
sudo chmod -R 755 /usr/local/mysql/

编辑:根据您mysql安装您的里程我的有所不同。 我安装使用上mysql.com MySQL的社区服务器DMG安装程序

如果这不起作用,尝试运行which mysql ,看看你的MySQL安装,然后替换/usr/local/mysql/在上面的命令与任何是“bin”目录之前。

例如,在我的系统which mysql产生以下输出: /usr/local/mysql/bin/mysql

所以我的路径是/usr/local/mysql/



Answer 3:

chown -R mysql:mysql /var/lib/mysql/

chmod -R 755 /var/lib/mysql/

我可以证实,这两种搭配chmod报表工作对我来说(Webmin的没看到的数据库也没有显示表),但我不知道为什么我在与MySQL建立或许二十几服务器版本(CentOS)后,要做到这一点过去的几年里。



Answer 4:

在CentOS / RedHat的,你应该做同样的事情,不同的路径:

chown -R mysql:mysql /data/mysql/
chmod -R 755 /data/mysql/


Answer 5:

OSX海伊谢拉使用以下命令可以解决这个问题:

chown -R mysql:mysql /usr/local/mysql


文章来源: mysql error : ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)