100

I have installed MySQL workbench from Snap Store and MySQL server 8.0 using apt. The server is running fine and I can access MySQL shell from terminal. But I am having issues connecting the Workbench to the server. I'm getting

        Cannot Connect to Database Server

Your connection attempt failed for user 'root' to the MySQL server at localhost:3306:

  An AppArmor policy prevents this sender from sending this message to this recipient; 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")

Please:

1 Check that MySQL is running on address localhost

2 Check that MySQL is reachable on port 3306 (note: 3306 is the default, but this can be changed)

3 Check the user root has rights to connect to localhost from your address (MySQL rights define what clients can connect to the server and from which machines)

4 Make sure you are both providing a password if needed and using the correct password for localhost connecting from the host address you're connecting from

There no field for entering password. It shows two options store in keychain and clear. On selecting store in keychain it prompts for a password, and I enter the password. But then it shows an error:

Could not store password: An AppArmor policy prevents this sender ...

Zanna
  • 70,465
parv desai
  • 1,221
  • Just about certain that you have the dreaded MySql can't connect with a password. See step 3 on this page. Try it. https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04 – walttheboss May 21 '20 at 09:35
  • 1
    FYI: MySQL Workbench's Snap package isn't officially maintained by MySQL while the debs are. – Kulfy May 21 '20 at 11:49
  • I'm running Ubuntu 20.10 (I like to use latest, but I often can't switch right away because of GPU driver issues) so I can't use an officially-supported deb file right now. They only officially support 20.04 and 21.04 right now. So I tried the snap today, and ran into this. – Matt Welke May 03 '21 at 00:22

3 Answers3

252

You have installed MySQLWorkbench as a Snap package. You want to store the database password(s) in the Gnome Passwords & Keys facility.

However, a Snap package is sandboxed; it is not by default allowed to access this service. When you choose "Store in keychain" MySQLWorkbench is blocked by AppArmor.

You need to enter a command to allow this package to access the service. The command is:

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

I got this from the discussion at this site.

Jos
  • 29,224
40
  1. Go to Ubuntu Software.
  2. Search for mysql-workbench and click on Mysql Workbench Community.
  3. Click on Permissions.
  4. Enable Read, add, change, or remove saved password̀s and ssh-keys (if you are also using ssh keys)
2

To make it work I tested a different approach and went to MySQL Community Downloads.

In there, selected the operating system Ubuntu Linux, version 20.04 (x86, 64-bit) and clicked the Download button. Then, "No thanks, just start my download" and saved it. This is a .deb file that got saved in the Download folder and so, to install it,

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

After installation is complete, went to Applications, opened it and the AppArmor policy error didn't show up again but couldn't still connect using the root user.

Then, tying to connect with the credentials created in the approach two, it worked just fine

MySQL Workbench connected fine in Ubuntu 20.04

Kulfy
  • 17,696