AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1249973
Accepted
Jim Dunn
Jim Dunn
Asked: 2020-06-14 08:35:49 +0800 CST2020-06-14 08:35:49 +0800 CST 2020-06-14 08:35:49 +0800 CST

将 MySQL Workbench 连接到 WSL2

  • 772

我有一个全新的 WSL2,在安装了 Ubuntu 20.04 和 MySQL 的最新 Windows 10 (2004) 上运行,我可以从 Bash 访问它并获取状态 -

mysql> status
--------------
mysql  Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Connection id:          10
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         8.0.20-0ubuntu0.20.04.1 (Ubuntu)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8mb4
Db     characterset:    utf8mb4
Client characterset:    utf8mb4
Conn.  characterset:    utf8mb4
UNIX socket:            /var/run/mysqld/mysqld.sock
Binary data as:         Hexadecimal
Uptime:                 13 sec

接下来我想连接 MySQL Workbench。我得到的只是

Your connection failed for user 'root' to the MySQL server at 127.0.0.1:3306
Access denied for user 'root'@'localhost'

我的 WSL2 列表是 ---

PS C:\Users\gymdo> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

我的 WSL2 信息是 ---

Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04 LTS (GNU/Linux 4.19.104-microsoft-standard x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat Jun 13 02:35:32 EDT 2020

  System load:  1.97               Processes:             8
  Usage of /:   0.4% of 250.98GB   Users logged in:       0
  Memory usage: 0%                 IPv4 address for eth0: 172.20.109.28
  Swap usage:   0%

0 updates can be installed immediately.
0 of these updates are security updates.

我试过使用上面的 172.20.109.28 ---同样的错误

从 Windows 端来看 ---

Ethernet adapter vEthernet (WSL):

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::c54a:f83c:a5f8:40b2%43
   IPv4 Address. . . . . . . . . . . : 172.20.96.1
   Subnet Mask . . . . . . . . . . . : 255.255.240.0
   Default Gateway . . . . . . . . . :

我尝试使用上面的 172.20.96.1 ---同样的错误

一件奇怪的事情是 --- 当我尝试使用 root@localhost 的用户名而不是简单的 root 时,工作台会弹出“输入密码”弹出窗口。我很兴奋,但是当我将密码字段留空时,密码仍然失败:NO

我是一个被打败的人——我需要帮助。

mysql windows-10 mysql-workbench windows-subsystem-for-linux
  • 3 3 个回答
  • 21898 Views

3 个回答

  • Voted
  1. Clém
    2020-11-17T06:12:05+08:002020-11-17T06:12:05+08:00

    我对 WSL 2 MySQL-Server 也有同样的问题;我通过将工作台连接配置中的127.0.0.1替换为localhost来修复它。

    127.0.0.1 配置

    无法连接主机名错误:127.0.0.1

    本地主机配置

    与主机名成功连接:localhost

    我希望它对某人有用!

    • 7
  2. Best Answer
    Jim Dunn
    2020-06-16T06:41:50+08:002020-06-16T06:41:50+08:00

    经过更多搜索后,我发现可能需要授予访问权限的提示。在 WSL2 框中,我添加了一个新用户并授予了访问权限。

    mysql> CREATE USER 'newguy'@'localhost' IDENTIFIED BY 'ratfink';
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> GRANT ALL ON mysql.* TO 'newguy'@'localhost';
    Query OK, 0 rows affected (0.01 sec)
    

    在此处查看页面下方的示例。

    我现在可以通过 MySQL Workbench 连接用户:newguy和密码:来自 MySQL Workbench 的ratfink 。我无法授予对root的访问权限。我什至尝试以用户身份删除root并重新添加root但没有成功。我猜不应该与大自然母亲混为一谈。

    • 6
  3. Robert McKay
    2021-01-26T09:57:08+08:002021-01-26T09:57:08+08:00

    问题是如何对 root 用户进行身份验证。默认情况下,这设置为使用 auth_socket 而不是 mysql_native_password。

    以 root 用户身份登录到 wsl 中的 mysql 服务器并运行:

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

    输出将列出每个用户的身份验证方法。

    现在使用以下命令更改 root 用户的方法:

    mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

    确保将“密码”更改为 root 用户的正确密码。

    现在运行命令来更新更改:

    mysql > FLUSH PRIVILEGES;
    

    现在再次运行命令以确保身份验证方法已更新:

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

    现在输出应该显示 root 用户的身份验证方法是使用 mysql_native_password。您现在应该能够使用密码以 root 用户身份登录工作台。

    • 5

相关问题

  • 上网本上的 MySQL 数据建模

  • 从终端备份mysql

  • 为什么 /etc/init.d/mysql 会运行错误的暴发户工作?

  • 将引号添加到文件中的字符串

  • 如何将 MySQL 数据文件移动到不同的分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve