无法使用 MySQL 命令行客户端和 python 的 mysql 连接器连接到 MySQL 服务器

Unable to connect to MySQL Server with both the MySQL Command Line Client and mysql connector for python

我最近在我的电脑上安装了 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)

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

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 连接器上工作。有什么方法可以永久解决这个问题吗?

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

编辑:应该提到我是 运行 Windows 10.

#将用户名替换为用户,它应该可以工作

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

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

在@Erick 的帮助下,我 MySQL 为我工作。因此 MySQL 通常作为服务安装在 windows 上,并设置为手动启动每个会话。这就是为什么重新配置有效但只有一次的原因。您需要做的是 go to services,并寻找 MySQL80。如果它还没有 运行(这就是我遇到的情况),double-click 它会启动,然后将 'Start type' 设置为自动,以便 MySQL 服务器在运行期间自动启动系统start-up。对我来说,这样做使客户端和 python 都能够连接到服务器 :).