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



我最近在电脑上安装了MySQL Server。但是命令行客户端要求输入密码,并简单地关闭而不显示任何内容。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 Server,该安装程序暂时使其能够在命令行客户端和python连接器上工作。有什么办法可以永久解决这个问题吗?

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

  • MySQL Server 8.0.21
  • MySQL Server安装程序1.34.4.0
  • Python 3.8.2
  • JupyterLab 2.1.2

EDIT:应该提到我运行的是Windows 10。

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

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

如果MySQL80命令行客户端在您输入pwd后关闭,则表示您输入了错误的密码。通常,它询问的密码是根密码。对于这种情况,请查看本页:https://dev.mysql.com/doc/refman/8.0/en/mysql-installer-workflow.html#mysql-安装程序工作流服务器,最终您可能需要重置根pwd和用户帐户。

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

最新更新