无法将 MySQL Workbench 连接到 MySQL 服务器

无法将 MySQL Workbench 连接到 MySQL 服务器

我已经使用 安装了 Snap Store 中的 MySQL Workbench 和 MySQL Server 8.0 apt。服务器运行良好,我可以从终端访问 MySQL Shell。但我在将 Workbench 连接到服务器时遇到了问题。我得到了

        无法连接到数据库服务器

用户“root”尝试连接 localhost:3306 的 MySQL 服务器失败:

  AppArmor 策略阻止此发件人将此消息发送给此收件人;type="method_call", sender=":1.125" (uid=1000 pid=7944 comm="/snap/mysql-workbench-community/5/usr/bin/mysql- wo" label="snap.mysql-workbench-community.mysql-workbench- community (enforce)") interface="org.freedesktop.Secret.Service" member="OpenSession” error name="(unset)" requested_reply="0" destination=":1.13" (uid=1000 pid=2044 comm="/usr/bin/gnome- keyring-daemon --daemonize --login" label="unconfined")

请:

1 检查 MySQL 是否在地址 localhost 上运行

2 检查 MySQL 是否可通过端口 3306 访问(注意:3306 是默认值,但可以更改)

3 检查用户 root 是否有权从您的地址连接到本地主机(MySQL 权限定义哪些客户端可以连接到服务器以及从哪些机器)

4 确保在需要时提供密码,并使用从您要连接的主机地址连接的本地主机的正确密码

没有输入密码的字段。它显示两个选项存储在钥匙串中清除. 关于选择存储在钥匙串中它提示输入密码,我输入了密码。但是它显示一个错误:

无法存储密码:AppArmor 策略阻止此发件人...

答案1

您已将 MySQLWorkbench 安装为 Snap 包。您想要将数据库密码存储在 Gnome Passwords & Keys 工具中。

然而,Snap 包沙盒化;默认情况下不允许访问此服务。当您选择“存储在钥匙串中”时,MySQLWorkbench 会被 AppArmor 阻止。

您需要输入命令来允许此包访问该服务。命令为:

sudo snap connect mysql-workbench-community:password-manager-service :password-manager-service

我从以下讨论中了解到这一点本网站

答案2

  1. Ubuntu Software
  2. 搜索mysql-workbench并点击Mysql Workbench Community
  3. 点击Permissions
  4. 启用Read, add, change, or remove saved password̀sssh-keys(如果您还使用 ssh 密钥)

答案3

为了使它发挥作用,我测试了一种不同的方法,并去MySQL 社区下载

在其中,选择操作系统 Ubuntu Linux,版本 20.04(x86,64 位),然后单击“下载”按钮。然后,“不用了,开始下载”并保存。这是一个保存在下载文件夹中的 .deb 文件,因此,要安装它,

cd ~/Downloads
sudo apt-get install ./mysql-workbench-community_8.0.20-1ubuntu20.04_amd64.deb

安装完成后,转到应用程序,打开它,AppArmor 策略错误没有再次出现,但仍然无法使用 root 用户连接。

然后,尝试使用方法二中创建的凭据进行连接,一切正常

MySQL Workbench 在 Ubuntu 20.04 中连接良好

相关内容