有一个 Ubuntu 20.04 VirtualBox VM,在安装了 MySQL 服务器后,想要安装 MySQL Workbench。
我首先尝试使用 APT 安装 MySQL Workbench,然后运行:
sudo apt install mysql-workbench
sudo apt install mysql-workbench-community
这两个命令都导致:
E: Unable to locate package NAME_OF_THE_PACKAGE
根据这个答案,我跑了
sudo apt-add-repository universe
但当我这样做的时候,我得到了
'universe' distribution component is already enabled for all sources.
这句话、那个问题以及与那个问题相关的问题都无助于解决这个问题。
如果我进入 Ubuntu 软件并从 Workbench 安装,我可以这样做,但它会立即发出警告说
不支持的操作系统
您正在不受支持的操作系统上运行 Workbench。虽然它可能对您来说运行良好,但它并非设计为在您的平台上运行。如果您遇到问题,请记住这一点。
当尝试连接到本地主机时,我甚至无法按照这个答案(创建一个名为admin的用户,并设置一个特定的密码,并赋予其权限)由于以下错误
无法连接到数据库服务器
您的连接尝试失败,用户:
AppArmor 策略阻止此发件人将此消息发送给此收件人;...
注意:有一个类似问题但他们使用 Snap Store。
答案1
现在安装 MySQL Community Workbench 的标准方式是通过snap
。
Snap 为其安装的应用程序设置了 AppArmor 配置文件,当 AppArmor 拒绝访问 MySQL Workbench 所需的某些文件时,GUI 似乎会悄无声息地失败。您的情况是 AppArmor 错误,而我的情况是完全没有响应。
dmesg
如果您运行或Workbench 崩溃,将会弹出错误消息tail -f /var/log/syslog
。查找类似以下内容的内容:
audit: ... : apparmor="DENIED" operation="open" profile="snap.mysql-workbench-community.mysql-workbench-community" ...
为了启用所需的访问权限,您需要启用 Workbench 来与您的密钥环对话:
snap connect mysql-workbench-community:password-manager-service
就我而言,我还需要允许 Workbench 读取我的 ssh 密钥,因为我通过 SSH 建立连接:
snap connect mysql-workbench-community:ssh-keys
答案2
为了使它发挥作用,我测试了一种不同的方法,并去MySQL 社区下载。
在其中,选择操作系统 Ubuntu Linux,版本 20.04(x86,64 位),然后单击“下载”按钮。然后,“不用了,开始下载”并保存。这是一个保存在下载文件夹中的 .deb 文件,因此,要安装它,
cd home/tiago/Downloads
sudo apt-get install ./mysql-workbench-community_8.0.20-1ubuntu20.04_amd64.dev
安装完成后,转到应用程序,打开它,AppArmor 策略错误没有再次出现,但仍然无法使用 root 用户连接。
然后,尝试使用方法二中创建的凭据进行连接,一切正常