【问题标题】:Django - default port 0 instead of 3306 - Can't connect to MySQL server on '127.0.0.1' (61)Django - 默认端口 0 而不是 3306 - 无法连接到“127.0.0.1”上的 MySQL 服务器 (61)
【发布时间】:2017-11-15 13:19:51
【问题描述】:

我正在尝试运行我的 Django 服务器,但我收到错误 (2003, "Can't connect to MySQL server on '127.0.0.1' (61)")。我在this topic 中找到了该问题可能由 MySQL 端口引起的信息。我使用SHOW GLOBAL VARIABLES LIKE 'PORT'; 进行了检查,得到了0 的值。在我看来,这可能是一个原因。我已签入my.cnf 默认端口,但一切似乎都很好port = 3306。我想知道我现在该怎么办?提前致谢。

解决方案: 我在my.cnf 文件中评论了skip-networking 行。

【问题讨论】:

  • 可以通过命令行连接MySQL吗?
  • mysql -u <whatever> -p -h 127.0.0.1
  • 不,我不能 - mysql -u sth -p -h 127.0.0.1 - 无法连接到 '127.0.0.1' 上的 MySQL 服务器 (61)
  • 如果这不起作用,并且mysql -u <whatever> -p -h localhost DOES 起作用,那么您的 MySQL 服务器未配置为侦听 IP 地址。
  • 那我该怎么改呢?

标签: python mysql django database docker


【解决方案1】:

bind-address = 127.0.0.1 添加到您的my.cnf 下的[mysqld]。然后重启 MySQL 服务器。这将让它监听本地 IP 地址。

bind-address = 0.0.0.0 将让它监听所有 IP 地址(不推荐用于生产,但对调试很有用)。

【讨论】:

  • 我可以在文件末尾添加bind-address = 127.0.0.1 吗?如何重启 MySQL?
  • 我相信XAMPP 有一个控制面板可以让你重新启动 MySQL。放在[mysqld]下。
  • 我已经按照你写的做了一切,SHOW GLOBAL VARIABLES LIKE 'PORT' 仍然返回0 和服务器 - (2003, "Can't connect to MySQL server on '127.0.0.1' (61)") .
  • 你能在 Django 中使用localhost 作为设置,看看会发生什么吗?
猜你喜欢
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 2014-12-08
  • 1970-01-01
  • 2020-09-29
  • 2012-02-08
  • 1970-01-01
  • 2014-09-13
相关资源
最近更新 更多