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/.
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/