Jon*_*han 30 mysql-workbench 16.04
Oracle 网站似乎暗示它仅适用于 15 和 14。http: //dev.mysql.com/downloads/workbench/
另外我的两台 Ubuntu 16.04 机器似乎无法连接(root 访问被拒绝错误)
它安装没问题。打开没问题。但它不会连接到本地主机。
有人有运气吗?
小智 46
该问题可能是由于在升级到 16.04 期间未设置密码时默认为 root 用户启用了套接字身份验证。这个重要的警告记录在 16.04发行说明中:
MySQL root 密码为空时的密码行为已更改。当 MySQL 根密码为空时,打包现在启用套接字身份验证。这意味着非 root 用户无法以空密码作为 MySQL root 用户登录。
无论出于何种原因,16.04 附带的 MySQL Workbench 无法与 MySQL 服务器一起开箱即用,至少对我而言。我尝试使用“本地套接字/管道”以多种不同方式进行连接,但无济于事。
解决方案是恢复到本机密码身份验证。您可以通过使用套接字身份验证登录 MySQL 来执行此操作:
sudo mysql -u root
登录后:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Run Code Online (Sandbox Code Playgroud)
这将恢复到本机(旧默认)密码身份验证。如果您尝试了其他方法来解决问题,您需要确保 mysql.user 中的“plugin”字段设置为“auth_token”,这可能需要使用 mysqld_safe 来登录 MySQL,以防万一一直在修补事情,就像我一样。
感谢米格尔·涅托的博客文章对这一解决方案。
Jon*_*han 37
MySQL 5.7 及更高版本不支持以“root”身份连接,mysql-workbench因此您必须创建一个普通用户并通过该用户连接。
sudo mysql -u root -p
Run Code Online (Sandbox Code Playgroud)
创建一个名为“admin”的用户并使用它来连接mysql-workbench.
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)
小智 5
这个问题可能已经两年了,但我今晚在 mysql-workbench 上的工作似乎给了我答案。
root 用户现在默认使用 auth_socket 身份验证。root 获得访问权限的唯一方法是以 root 身份登录。
我通过mysql -u root以 root 用户和标准用户身份运行发现了这一点 。
它在标准用户下不起作用。
所以我的下一个问题是 - mysql-workbench 以什么用户身份运行。原来它默认以标准用户身份运行。要让它以 root 用户身份运行,它必须从 root 运行。所以我进入 root 用户 CLI 并输入“mysql-workbench”。
然后我必须进入 root 用户的设置,如下所示。该文件位置对 ubuntu 18.04 安装有效。

如果该套接字位置无效,则您需要从 root 或 sudo 进入 mysql CLI 并运行以下命令。

正确设置后测试连接。它应该是成功的,你已经准备好开始了。
| 归档时间: |
|
| 查看次数: |
98798 次 |
| 最近记录: |