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

Ton*_*dis 37 python mysql database django permissions

当我尝试在mysql中查看数据库时,我收到此错误:

ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)
Run Code Online (Sandbox Code Playgroud)

这会阻止我的应用显示...

我的django调试器说:

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

这是我的设置文件:

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.
Run Code Online (Sandbox Code Playgroud)

什么可能导致问题?

提前致谢

scr*_*tin 70

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

chown -R mysql:mysql /var/lib/mysql/ #your mysql user may have different name
chmod -R 755 /var/lib/mysql/
Run Code Online (Sandbox Code Playgroud)

注意:-R使命令递归 - 如果没有子目录,您可以省略它/var/lib/mysql/.

  • @TonyKyriakidis你重启了`mysqld`?(`service mysqld restart`) (6认同)

den*_*ter 34

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

sudo chown -R mysql:mysql /usr/local/mysql/
sudo chmod -R 755 /usr/local/mysql/
Run Code Online (Sandbox Code Playgroud)

编辑:根据您安装mysql的方式,您的里程数会有所不同.我在mysql.com上使用mysql社区服务器dmg安装程序安装

如果这不起作用,请尝试运行which mysql以查看mysql安装位置,然后/usr/local/mysql/在上面的命令中替换'bin'目录之前的内容.

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

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