Łączę MySQL - 8.0 z MySQL Workbench i pojawia się następujący błąd:
Nie można załadować wtyczki uwierzytelniającej „caching_sha2_password”: dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): obraz nie został znaleziony
Próbowałem również z innym narzędziem klienta.
Jakieś rozwiązanie tego?
mysql
database
mysql-workbench
mysql-8.0
Aman Aggarwal
źródło
źródło
Odpowiedzi:
Uwaga: w systemie Mac OS
źródło
możesz zmienić szyfrowanie hasła w ten sposób.
źródło
W systemie Windows 10:
Otwórz wiersz polecenia:
Alternatywnie możesz zmienić konfigurację my.ini w następujący sposób:
Uruchom ponownie serwer MySQL i ponownie otwórz Workbench.
źródło
my.ini
lokalizacja pliku: stackoverflow.com/a/20311286/923560Możesz zmienić szyfrowanie hasła użytkownika, zmieniając go za pomocą poniższej komendy Alter:
LUB
Możemy uniknąć tego błędu, uruchamiając go ze starą wtyczką hasła:
Najpierw zmień wtyczkę uwierzytelniającą w pliku my.cnf dla pliku Linux / my.ini w systemie Windows :
Zrestartuj serwer mysql, aby zastosować zmiany i spróbuj połączyć się przez MySQL z dowolnym klientem mysql.
Jeśli nadal nie można się połączyć i pojawia się następujący błąd:
Oznacza to, że użytkownik potrzebuje powyższej wtyczki. Spróbuj więc utworzyć nowego użytkownika za pomocą polecenia create user lub grant po zmianie domyślnej wtyczki. wtedy nowy użytkownik potrzebuje natywnej wtyczki i będziesz mógł połączyć MySQL.
Dzięki
źródło
Obecnie (w dniu 2018/04/23) musisz pobrać wersję rozwojową . Te GA nie działają.
Nie mogłem połączyć się z najnowszą wersją GA (6.3.10).
Działa z
mysql-workbench-community-8.0.11-rc-winx64.msi
(od https://dev.mysql.com/downloads/workbench/ , zakładka Wydania programistyczne ).źródło
Miałem ten sam problem, ale odpowiedź Amana Aggarwal nie działała dla mnie z kontenerem Docker z mysql 8.X. Zalogowałem się w kontenerze
następnie zaloguj się do mysql jako root
Wprowadź hasło dla użytkownika root (domyślnie jest to „root”). Wreszcie uruchom:
Wszystko gotowe.
źródło
docker exec -it CONTAINER_ID mysql --user=root --password
zamiast dwóch poleceń opartych na obecnościbash
powłoki (co nie jest pewne w przyszłości)?docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7
Ok, zmarnowałem na to dużo czasu, więc oto podsumowanie z 19 marca 2019 r
Jeśli szczególnie próbujesz użyć obrazu Docker z MySql 8+ , a następnie użyć SequelPro, aby uzyskać dostęp do bazy danych uruchomionej na tym kontenerze dokowanym , nie masz szczęścia.
Zobacz numer 2699 sequelpro
Moja konfiguracja to sequelpro 1.1.2 przy użyciu Dockera Desktop 2.0.3.0 (Mac - Mojave) i próbowałem przy użyciu mysql: latest (v8.0.15).
Jak informowali inni, używanie mysql 5.7 działa bez żadnych wymagań:
Oczywiście możliwe jest użycie MySql 8+ w oknie dokowanym, aw tej sytuacji (w razie potrzeby) inne odpowiedzi podane tutaj dla
caching_sha2_password
problemów z typem działają. Ale sequelpro to NIE GO z MySql 8+Wreszcie porzuciłem sequelpro (zaufanego przyjaciela z lat 2013-2014) i zamiast tego zainstalowałem DBeaver . Wszystko działało od razu po wyjęciu z pudełka. Do dokera użyłem:
Możesz szybko zajrzeć do baz danych mysql, używając:
źródło
brew cask install homebrew/cask-versions/sequel-pro-nightly
.mysql
klienta) iALTER
tabeli myslq.user, tutaj: github.com/sequelpro/sequelpro/issues/…mysql_native_password
Instalowałem MySQL na komputerze z systemem Windows 10 przy użyciu „ Instalatora internetowego MySQL ” i napotkałem ten sam problem podczas próby połączenia za pomocą środowiska roboczego MySQL. Rozwiązałem problem, zmieniając konfigurację serwera z okna instalatora.
Kliknięcie opcji „Ponowna konfiguracja” pozwoli na ponowną konfigurację serwera. Klikaj „Dalej”, aż dojdziesz do „Metoda uwierzytelnienia”.
Na tej karcie użyj drugiej opcji „Użyj starszej metody uwierzytelniania (zachowaj zgodność z MySQL 5.x)”.
Zachowaj wszystko tak, jak jest i tak rozwiązałem mój problem.
źródło
lubię to?
Spróbuj w PWD
https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml
lub powinieneś używać MySQL Workbench 8.0.11.
źródło
Otwórz klienta wiersza poleceń MySQL
Utwórz nowego użytkownika z nową przepustką
Biorąc pod uwagę przykład ścieżki do folderu bin na górze, oto kod, który musisz uruchomić w wierszu polecenia, wiersz po wierszu:
Skonfiguruj nowe połączenie z hostem lokalnym przy użyciu wyżej wymienionej nazwy użytkownika (użytkownik macierzysty), zaloguj się przy użyciu hasła (nowe hasło)
Dzięki uprzejmości: UDEMY FAQ, na które odpowiedział zespół Career365
źródło
root
bez hasła, które działało w wierszu polecenia, ale nie wSequel Pro
.Dla osób korzystających z Docker lub Docker Compose wystąpił ten błąd, ponieważ nie ustawiłem mojej wersji obrazu MySQL. Docker automatycznie podejmie próbę uzyskania najnowszej wersji, czyli 8.
Ustawiłem MySQL na 5.7 i przebudowałem obraz, który działał normalnie:
źródło
mysql:5.7
zamiastmysql:latest
rozwiązać problem dla mnieOto moja definicja bazy danych w mojej kompozycji dokującej:
Odpowiednią linią jest punkt wejścia .
Po jego zbudowaniu i przetestowaniu możesz go przetestować za pomocą:
źródło
W przypadku systemu Windows 10 ,
Zmodyfikuj
my.ini
plik wC:\ProgramData\MySQL\MySQL Server 8.0\
Uruchom ponownie usługę MySQL.
Zaloguj się do MySQL w wierszu polecenia i wykonaj następujące polecenia w MySQL:
Utwórz nowego użytkownika.
Udziel wszystkich przywilejów.
Otwórz środowisko robocze MySQL i otwórz nowe połączenie przy użyciu nowych poświadczeń użytkownika.
Napotkałem ten sam problem i to zadziałało.
źródło
Oto rozwiązanie, które zadziałało dla mnie po instalacji MySQL 8.0 w systemie Windows 10.
Załóżmy, że nazwa użytkownika MySQL to
root
i hasło toadmin
Otwórz wiersz polecenia i wprowadź następujące polecenia:
źródło
Jeśli pojawia się ten błąd w GitLab CI takim jak ja: po prostu zmień wersję z najnowszej na 5.7;)
źródło
znalazłem to
nie działało samo z siebie. Musiałem też ustawić
w /etc/mysql/mysql.conf.d/mysqld.cnf na Ubuntu 18.04 z uruchomionym PHP 7.0
źródło
Otwórz moją komendę SQL sql:
następnie wprowadź hasło mysql
w końcu użyj:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
patrz: https://stackoverflow.com/a/49228443/6097074
Dzięki.
źródło
Dla mnie zaczęło się to dziać, ponieważ w projekcie korzystałem z Docker image mysql: latest (która była wersją 5, która działała dobrze), a podczas późniejszej kompilacji najnowsza wersja została przełączona na wersję 8 i przestała działać . I zmienił moje zdjęcie do MySQL: 5 , a ja już nie otrzymuję ten błąd .
źródło
Ten błąd pojawia się, gdy używane narzędzie nie jest zgodne z MySQL8, spróbuj zaktualizować do najnowszej wersji MySQL Workbench dla MySQL8
źródło
Prawie jak powyższe odpowiedzi, ale mogą być w prostych zapytaniach, ten błąd pojawiał się w mojej aplikacji do rozruchu wiosennego wraz z hibernacją po aktualizacji MySQL. Utworzyliśmy nowego użytkownika, uruchamiając poniższe zapytania w stosunku do naszej bazy danych. Uważam, że jest to tymczasowa metoda na używanie sha256_password zamiast najnowszego i dobrego uwierzytelniania caching_sha2_password.
źródło
Rozwiązuje to MySQLWorkbench 8.0.11 dla macOS. Mogę nawiązać połączenie z chronioną hasłem głównym instancją mysql działającą w oknie dokowanym.
źródło
Chociaż nie powinno to być prawdziwe rozwiązanie, działa lokalnie, jeśli utkniesz
źródło
Poniższe rozwiązanie działało dla mnie
Przejdź do Mysql Workbench -> Serwer-> Użytkownicy i uprawnienia 1. Kliknij Dodaj konto
2. W zakładce Logowanie podaj nowe szczegóły i upewnij się, że wybierasz Standardowy typ uwierzytelniania oraz odpowiednie role administracyjne i uprawnienia do schematu
źródło
Jeśli próbujesz połączyć się z serwerem MySQL z tekstowego klienta MySQL z innego komputera (dokera, czy nie)
Większość odpowiedzi tutaj wymaga połączenia z klienta stacjonarnego lub prośby o przejście na starszą metodę uwierzytelniania. Jeśli łączysz go z klientem MySQL (tekstowym), sprawiłem, że działa z Debian Buster w kontenerze Docker.
Załóżmy, że masz skonfigurowany system apt i wget, wykonaj następujące czynności:
sudo apt-get update
sudo apt-get install lsb-release -y
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
i wybierz odpowiednie opcje. W moim przypadku wystarczy tylkoMySQL Tools & Connectors
włączyć.sudo apt-get update
sudo apt-get install mysql-client -y
źródło
Spróbuj użyć starszego hasła podczas pobierania i instalowania MySql, co mi pomogło. Lub postępuj zgodnie z metodą opublikowaną przez Santhosha Shivana dla Mac OS.
źródło
Pobieranie wersji rozwojowej 8.0.11-rc działało dla mnie na komputerze Mac. za pomocą następujących poleceń dokera:
źródło
Rozwiązałem ten problem, instalując MySQL 5.7:
Krok 1 - Włącz repozytorium MySQL
Przede wszystkim musisz włączyć repozytorium yum społeczności MySQL 5.7 w swoim systemie. Pakiety rpm do konfiguracji repozytorium yum są dostępne na oficjalnej stronie MySQL. Użyj poniższego polecenia zgodnie z wersją systemu operacyjnego.
Na CentOS i RHEL 7
Na CentOS i RHEL 6
Na Fedorze 27
Na Fedorze 26
W Fedorze 25
Krok 2 - Zainstaluj serwer MySQL 5.7
Po pomyślnym włączeniu repozytorium yum MySQL w twoim systemie. Teraz zainstaluj serwer społeczności MySQL 5.7, używając następujących poleceń zgodnie z wersją systemu operacyjnego.
Na CentOS i RHEL 7/6
W Fedorze 27/26/25
źródło: https://tecadmin.net/install-mysql-5-7-centos-rhel/
źródło
Cofanie się do poprzednich instalacji (do MySQL Community Server 5.7 i Workbench 6.1) i konfigurowanie nowych poświadczeń MySQL działało dla mnie!
źródło