当我try 在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.

什么会导致问题?

提前谢谢

推荐答案

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

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

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

Mysql相关问答推荐

同一类型对象之间的多对多关系

错误:数据包顺序错误.GET:0预期:10 node JS MySQL

S在我的SQL代码中的外键出了什么问题?

MySQL多次联接同一个表使计数变得奇怪

递归查询意外地为一个字段返回空值

按特定顺序匹配 EventS 和下一个 EventA 之前的第一个 Event 之间的记录

在 MySQL 中,如何对 LIKE 查询进行批量更新,删除字符?

根据 MySql 中同一表中的多列 Select 多列

SQL - 基本的内部连接查询

Select 并统计所有条目并根据条目对它们进行分组

将 AVG 与 HAVING 结合使用

MYSQL 删除两个已知字符串之间的字符串

MySQL 8.0.30 正则表达式词匹配特殊字符

MySQL UPDATE 锁会因为连续的 SHARE 锁而饿死吗?

即使我的约束是正确的,如何解决 errno: 150 外键约束形成错误?

按长度过滤 varbinary 字段

无法在两个 mysql 表上执行内部联接

MySQL:按字段排序,将空单元格放在末尾

我的 PDO 声明不起作用

MySQL 导出到 outfile:CSV 转义字符