我已经使用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是否有权从您的地址连接到localhost(MySQL权限定义了哪些客户端可以连接到服务器以及从哪些机器)
4 确保您在需要时提供密码,并使用正确的密码从您要连接的主机地址连接到 localhost
没有输入密码的字段。它显示了两个选项存储在 keychain和clear中。在选择存储在钥匙串中时,它会提示输入密码,我输入密码。但随后它显示一个错误:
无法存储密码:AppArmor 策略阻止此发件人...
您已将 MySQLWorkbench 安装为 Snap 包。您希望将数据库密码存储在 Gnome 密码和密钥工具中。
但是,Snap 包是沙盒的;默认情况下不允许访问此服务。当您选择“存储在钥匙串中”时,AppArmor 会阻止 MySQLWorkbench。
您需要输入命令以允许此包访问服务。命令是:
我从这个网站的讨论中得到了这个。
Ubuntu Software
。mysql-workbench
并单击Mysql Workbench Community
。Permissions
。Read, add, change, or remove saved password̀s
和ssh-keys
(如果您还使用 ssh 密钥)为了让它发挥作用,我测试了一种不同的方法并访问了MySQL 社区下载。
在那里,选择操作系统 Ubuntu Linux,版本 20.04(x86,64 位)并单击下载按钮。然后,“不,谢谢,开始我的下载”并保存。这是一个保存在下载文件夹中的 .deb 文件,因此,要安装它,
安装完成后,转到应用程序,打开它,AppArmor 策略错误没有再次出现,但仍然无法使用 root 用户连接。
然后,连接到方法二中创建的凭据,它工作得很好