无法从 Windows 桌面应用程序“MySQL Workbench”连接到 MySQL 数据库(在 WSL2 上运行)

2023-11-21

我在适用于 Linux 的 Windows 子系统(WSL2 版本)上设置了 MySQL。我对 MySQL 比较陌生,但我已经确认了以下几点:

  • 它正在运行(ps ax | grep mysqld返回一个值)
  • 它在默认主机上运行127.0.0.1
  • 它在默认端口上运行3306

要登录 mysql shell,我使用命令sudo mysql -u root -p。如果没有 sudo,我将无法登录 shell。

我认为这个问题与运行 MySQL 服务的主机有关,但我不知道如何更改它并正确连接。下面是 MySQL Workbench 中连接设置的屏幕截图。

enter image description here

下面是我使用所示设置和我的设置时遇到的错误root用户密码。

connect to mysql workbench 2

enter image description here


事实证明,这与 WSL 完全无关,而与 MySQL 用户的身份验证方法有关。

从 MySQL 5.5.10 版本开始,用户可以使用auth_socket认证。就我而言,我使用的是 Linuxapt用于配置和安装 MySQL 的存储库,这被设置为默认身份验证方法,如以下命令的输出所示:

SELECT user,authentication_string,plugin,host FROM mysql.user;

MySQL Workbench 不支持这种类型的身份验证,因此,您必须恢复到旧的身份验证方法,mysql_native_password.

为此,请在登录时运行以下命令root,或者您尝试使用以下方式连接到 MySQL Workbench 的任何用户:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

完成此操作后,MySQL Workbench 连接正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 Windows 桌面应用程序“MySQL Workbench”连接到 MySQL 数据库(在 WSL2 上运行) 的相关文章

随机推荐