小编典典

OperationalError:(2002,“无法通过套接字'/var/run/mysqld/mysqld.sock'(2)连接到本地MySQL服务器”)

mysql

当在Django中连接到mysql数据库时,出现错误。

  1. 我确定mysql服务器正在运行。

  2. /var/run/mysqld/mysqld.sock不存在。

  3. 当我运行时$ find / -name *.sock -type s,我只会得到/tmp/mysql.sock和其他一些不相关的输出。

  4. 我添加socket = /tmp/mysql.sock到/etc/my.cnf。然后重新标记mysql,退出django shell,并连接到mysql数据库。我仍然遇到相同的错误。

我进行了很多搜索,但我仍然不知道该怎么做。

任何帮助都很棒。提前致谢。

好吧,我只是尝试了一些方法。而且有效。我做了如下。

  1. 添加。socket = /tmp/mysql.sock重启mysql服务器。
  2. ln -s /tmp/mysql.sock /var/lib/mysqld/mysqld.sock

今天我遇到了另一个问题。我无法登录到mysql。我是mysql的新手。所以我想mysql服务器和客户端使用相同的套接字进行通信。我socket = /var/mysqld/mysqld.sock在my.cnf中添加到[mysqld] [client]块,它开始了。


阅读 305

收藏
2020-05-17

共1个答案

小编典典

使用“ 127.0.0.1”,而不是“ localhost”

DATABASES = {
   'default': {
      'ENGINE': 'django.db.backends.mysql',
      'NAME': 'django',
      'USER': 'root',
      'PASSWORD': '',
      'HOST': '127.0.0.1',
      'PORT': '3306',
   }
}
2020-05-17