Technologia

Rozwiązanie problemu: MySQL Workbench na Ubuntu – Błąd połączenia z serwerem MySQL

Wielu użytkowników Ubuntu korzysta z MySQL Workbench do zarządzania bazami danych MySQL. Jednakże, niektórzy mogą napotkać problemy z połączeniem się z serwerem MySQL, szczególnie gdy MySQL Workbench jest zainstalowany za pomocą Snap Store.

Problem

Podczas próby połączenia MySQL Workbench z lokalnym serwerem MySQL, może pojawić się następujący komunikat o błędzie:

        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")
    

Rozwiązanie

Rozwiązaniem problemu jest skonfigurowanie odpowiednich uprawnień dla MySQL Workbench za pomocą Snap. Wykonaj poniższe kroki, aby to osiągnąć:

1. Podłączenie do usługi menedżera haseł

Snap, będący systemem pakietów używanym w Ubuntu, izoluje aplikacje w celu zwiększenia bezpieczeństwa. To ograniczenie może powodować problemy z dostępem do pewnych usług, takich jak menedżer haseł. Aby zezwolić MySQL Workbench na korzystanie z menedżera haseł, wykonaj następujące polecenie w terminalu:

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

To polecenie łączy MySQL Workbench z usługą menedżera haseł, usuwając ograniczenia nałożone przez AppArmor.

2. Weryfikacja połączenia

Po wykonaniu powyższego polecenia spróbuj ponownie połączyć się z serwerem MySQL za pomocą MySQL Workbench. Powinno to rozwiązać problem i umożliwić normalne połączenie.

Alternatywne rozwiązania

Jeśli powyższe rozwiązanie nie działa lub jeśli wolisz unikać korzystania ze Snap, istnieją inne metody instalacji MySQL Workbench na Ubuntu.

Instalacja z oficjalnego repozytorium APT

Zamiast korzystać z wersji Snap, możesz zainstalować MySQL Workbench bezpośrednio z oficjalnego repozytorium APT, co zazwyczaj nie powoduje problemów z AppArmor.

        sudo snap remove mysql-workbench-community
        sudo apt update
        sudo apt install mysql-workbench
    

Instalacja z flagą --classic

Jeśli wolisz pozostać przy wersji Snap, możesz spróbować zainstalować MySQL Workbench z flagą --classic, która daje aplikacji mniej restrykcyjne uprawnienia.

        sudo snap remove mysql-workbench-community
        sudo snap install mysql-workbench-community --classic
    

Podsumowanie

Problemy z połączeniem MySQL Workbench z serwerem MySQL na Ubuntu mogą być frustrujące, ale na szczęście istnieje proste rozwiązanie. Podłączenie MySQL Workbench do usługi menedżera haseł za pomocą Snap powinno rozwiązać większość problemów związanych z AppArmor. Jeśli problemy będą się powtarzać, rozważ instalację MySQL Workbench z oficjalnego repozytorium APT lub z flagą --classic. Dzięki temu będziesz mógł cieszyć się bezproblemowym zarządzaniem bazami danych MySQL na Ubuntu.