【问题标题】:Unable to connect to MySQL Server with both the MySQL Command Line Client and mysql connector for python无法使用 MySQL 命令行客户端和用于 python 的 mysql 连接器连接到 MySQL 服务器
【发布时间】:2020-09-03 08:01:35
【问题描述】:

我最近在我的电脑上安装了 MySQL 服务器。但是命令行客户端要求输入密码并简单地关闭而不显示任何内容。 python的mysql连接器也连接不上。

import mysql.connector
mydb = mysql.connector.connect(username='username',passwd='password')

只是给

InterfaceError: 2003: Can't connect to MySQL server on '127.0.0.1:3306' (10061 No connection could be made because the target machine actively refused it)

我在某处看到将主机设置为 localhost 可能会有所帮助。

import mysql.connector
mydb = mysql.connector.connect(username='username',passwd='password',host='localhost')

但即便如此:

InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine actively refused it)

目标机器主动拒绝?

这已经发生过一次,我从 MySQL 社区安装程序重新配置了 MySQL 服务器,它暂时让它在命令行客户端和 python 连接器上工作。有没有办法永久解决这个问题?

以下是我正在使用的软件版本:

  • MySQL 服务器 8.0.21
  • MySQL 服务器安装程序 1.34.4.0
  • Python 3.8.2
  • JupyterLab 2.1.2

编辑:应该提到我正在运行 Windows 10。

【问题讨论】:

  • 如果你使用 *nix 试试这个命令。 sudo systemctl status mysql.service。看看它是否处于活动状态。
  • 在我看来 MySQL 服务器还没有运行!你需要启动它!
  • sudo netstat -a | grep mysql,如果你没有看到 MySQL 守护进程,那么你需要启动它systemctl start mysql
  • @Code 谢谢,但我正在运行 Windows。你碰巧知道等效的命令吗?我认为 MySQL Installer 应该是启动的。
  • 在windows中你想去'服务'并寻找MySQL80。查看它是否正在运行,如果没有,只需双击它并启动它。检查“开始类型”是否为“自动”

标签: mysql mysql-python


【解决方案1】:

#replace username 作为用户,它应该可以工作

    import mysql.connector
    mydb = mysql.connector.connect(user='username',passwd='password',host='localhost')

【讨论】:

    【解决方案2】:

    如果 MySQL80 命令行客户端在你输入 pwd 后它正在关闭意味着你输入了错误的密码。通常,它要求的密码是 root 密码。 对于这种情况,请查看此页面:https://dev.mysql.com/doc/refman/8.0/en/mysql-installer-workflow.html#mysql-installer-workflow-server,最终您可能需要重置您的根密码和用户帐户。

    【讨论】:

      【解决方案3】:

      在@Erick 的帮助下,我让 MySQL 为我工作。因此 MySQL 通常作为服务安装在 windows 上,并设置为手动启动每个会话。这就是为什么重新配置有效但只有一次。你需要做的是go to services,并寻找MySQL80。如果它还没有运行(这就是我发生的事情),双击它启动,并将“启动类型”设置为自动,以便 MySQL 服务器在系统启动期间自动启动。对我来说,这样做使客户端和 python 都能够连接到服务器:)。

      【讨论】:

      • 也许你想给我投票并解决问题
      • @Erick 很抱歉,我还没有足够的声望给你投票。
      猜你喜欢
      • 2016-12-10
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多