Ich verbinde MySQL - 8.0 mit MySQL Workbench und erhalte den folgenden Fehler:
Das Authentifizierungs-Plugin 'caching_sha2_password' kann nicht geladen werden: dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): Bild nicht gefunden
Ich habe es auch mit anderen Client-Tools versucht.
Irgendeine Lösung dafür?
mysql
database
mysql-workbench
mysql-8.0
Aman Aggarwal
quelle
quelle
Antworten:
Hinweis: Für MAC OS
quelle
Sie können die Verschlüsselung des Passworts folgendermaßen ändern.
quelle
Für Windows 10:
Öffnen Sie die Eingabeaufforderung:
Alternativ können Sie die my.ini- Konfiguration wie folgt ändern :
Starten Sie den MySQL Server neu und öffnen Sie die Workbench erneut.
quelle
my.ini
Dateispeicherort: stackoverflow.com/a/20311286/923560Sie können die Verschlüsselung des Benutzerpassworts ändern, indem Sie den Benutzer mit dem folgenden Befehl Ändern ändern:
ODER
Wir können diesen Fehler vermeiden, indem wir ihn mit dem alten Passwort-Plugin zum Laufen bringen:
Ändern Sie zuerst das Authentifizierungs-Plugin in der Datei my.cnf für Linux / my.ini in Windows :
Starten Sie den MySQL-Server neu, um die Änderungen zu übernehmen, und versuchen Sie, eine Verbindung über MySQL mit einem beliebigen MySQL-Client herzustellen.
Wenn immer noch keine Verbindung hergestellt werden kann und der folgende Fehler angezeigt wird:
Dies bedeutet, dass Ihr Benutzer das oben genannte Plugin benötigt. Versuchen Sie also, einen neuen Benutzer mit dem Befehl create user oder grant zu erstellen, nachdem Sie das Standard-Plugin geändert haben. Dann benötigen neue Benutzer das native Plugin und Sie können MySQL verbinden.
Vielen Dank
quelle
Derzeit (am 23.04.2018) müssen Sie eine Entwicklungsversion herunterladen . Die GA funktionieren nicht.
Ich konnte keine Verbindung mit der neuesten GA-Version (6.3.10) herstellen.
Es funktionierte mit
mysql-workbench-community-8.0.11-rc-winx64.msi
(von https://dev.mysql.com/downloads/workbench/ , Registerkarte Entwicklungsversionen ).quelle
Ich hatte das gleiche Problem, aber die Antwort von Aman Aggarwal funktionierte bei einem Docker-Container mit mysql 8.X nicht. Ich habe mich im Container angemeldet
Dann melde dich bei mysql als root an
Geben Sie das Passwort für root ein (Standard ist 'root'). Schließlich ausführen:
Du bist fertig.
quelle
docker exec -it CONTAINER_ID mysql --user=root --password
statt zwei Befehlen, die auf dem Vorhandensein derbash
Shell beruhen (was in Zukunft nicht sicher ist)?docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7
Ich habe MySQL mit " MySQL Web Installer " auf meinem Windows 10-PC installiert und hatte das gleiche Problem, als ich versuchte, eine Verbindung mit MySQL Workbench herzustellen. Ich habe das Problem behoben, indem ich den Server im Installationsfenster neu konfiguriert habe.
Durch Klicken auf die Option "Neu konfigurieren" kann der Server neu konfiguriert werden. Klicken Sie auf "Weiter", bis Sie zu "Authentifizierungsmethode" gelangen.
Verwenden Sie auf dieser Registerkarte die zweite Option "Legacy-Authentifizierungsmethode verwenden (MySQL 5.x-Kompatibilität beibehalten)".
Behalte alles andere so wie es ist und so habe ich mein Problem gelöst.
quelle
Ok, ich habe viel Zeit damit verschwendet. Hier ist eine Zusammenfassung vom 19. März 2019
Wenn Sie speziell versuchen, ein Docker-Image mit MySql 8+ zu verwenden und dann SequelPro verwenden, um auf Ihre Datenbank (en) zuzugreifen , die auf diesem Docker-Container ausgeführt werden, haben Sie kein Glück.
Siehe die Folgepro-Ausgabe 2699
Mein Setup ist sequelpro 1.1.2 mit Docker Desktop 2.0.3.0 (Mac - Mojave) und ich habe versucht, MySQL: Neueste (v8.0.15) zu verwenden.
Wie andere berichtet haben, funktioniert die Verwendung von MySQL 5.7, ohne dass Folgendes erforderlich ist:
Natürlich ist es möglich, MySql 8+ auf Docker zu verwenden, und in dieser Situation (falls erforderlich)
caching_sha2_password
funktionieren andere hier angegebene Antworten für Typprobleme . Aber sequelpro ist mit MySql 8+ ein NO GOSchließlich habe ich sequelpro (einen vertrauenswürdigen Freund von 2013-2014) aufgegeben und stattdessen DBeaver installiert . Alles hat sofort funktioniert. Für Docker habe ich verwendet:
Sie können schnell einen Blick auf die MySQL-Datenbanken werfen, indem Sie:
quelle
brew cask install homebrew/cask-versions/sequel-pro-nightly
.mysql
Client) undALTER
ihre myslq.user-Tabelle anmelden können. Diese finden Sie hier: github.com/sequelpro/sequelpro/issues/…mysql_native_password
, können Sie Folgendesso was?
Versuchen Sie es in PWD
https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml
oder Sie sollten MySQL Workbench 8.0.11 verwenden.
quelle
Öffnen Sie den MySQL Command Line Client
Erstellen Sie einen neuen Benutzer mit einem neuen Pass
Betrachten Sie ein Beispiel für einen Pfad zu einem Bin-Ordner oben. Hier ist der Code, den Sie Zeile für Zeile an der Eingabeaufforderung ausführen müssen:
Richten Sie eine neue lokale Hostverbindung mit dem oben genannten Benutzernamen ein (nativer Benutzer) und melden Sie sich mit dem Kennwort (new_password) an.
Mit freundlicher Genehmigung: UDEMY-FAQs, die vom Career365-Team beantwortet wurden
quelle
root
herzustellen, und kein Passwort erhalten, was in der Befehlszeile funktioniert hat, aber nicht inSequel Pro
.Bei Benutzern von Docker oder Docker Compose ist dieser Fehler aufgetreten, weil ich meine MySQL-Image-Version nicht festgelegt habe. Docker versucht automatisch, die neueste Version zu erhalten, nämlich 8.
Ich habe MySQL auf 5.7 gesetzt und das Image neu erstellt und es hat wie gewohnt funktioniert:
quelle
mysql:5.7
stattmysql:latest
gelöst das Problem für michDies ist meine Datenbankdefinition in meinem Docker-Compose:
Die entsprechende Linie dort ist der Einstiegspunkt .
Nach dem Aufbau und Aufbau können Sie es testen mit:
quelle
Für Windows 10 ,
my.ini
Datei ändern inC:\ProgramData\MySQL\MySQL Server 8.0\
Starten Sie den MySQL-Dienst neu.
Melden Sie sich über die Befehlszeile bei MySQL an und führen Sie die folgenden Befehle in MySQL aus:
Erstellen Sie einen neuen Benutzer.
Gewähren Sie alle Berechtigungen.
Öffnen Sie die MySQL-Workbench und öffnen Sie eine neue Verbindung mit den neuen Benutzeranmeldeinformationen.
Ich hatte das gleiche Problem und das hat funktioniert.
quelle
Hier ist die Lösung, die nach der Installation von MySQL 8.0 unter Windows 10 für mich funktioniert hat.
Angenommen, MySQL-Benutzername ist
root
und Passwort istadmin
Öffnen Sie die Eingabeaufforderung und geben Sie die folgenden Befehle ein:
quelle
Wenn Sie diesen Fehler auf GitLab CI wie mir erhalten: Wechseln Sie einfach von der neuesten Version auf 5.7;)
quelle
ich habe das gefunden
hat nicht von alleine funktioniert. Ich musste auch einstellen
in /etc/mysql/mysql.conf.d/mysqld.cnf unter Ubuntu 18.04 mit PHP 7.0
quelle
Öffne meine SQL-Befehlsansage:
Geben Sie dann das MySQL-Passwort ein
endlich benutzen:
ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';
Siehe: https://stackoverflow.com/a/49228443/6097074
Vielen Dank.
quelle
Für mich begann dies, weil ich in einem Projekt das Docker-Image mysql: latest (das war Version 5 und funktionierte einwandfrei) verwendete und während eines späteren Builds die neueste Version auf Version 8 umgestellt wurde und nicht mehr funktionierte . Ich habe mein Bild in mysql: 5 geändert und habe diesen Fehler nicht mehr erhalten .
quelle
Dieser Fehler tritt auf, wenn das verwendete Tool nicht mit MySQL8 kompatibel ist. Versuchen Sie, auf die neueste Version von MySQL Workbench für MySQL8 zu aktualisieren
quelle
Fast wie die obigen Antworten, aber möglicherweise in einfachen Abfragen, habe ich diesen Fehler in meiner Spring-Boot-Anwendung zusammen mit dem Ruhezustand nach dem MySQL-Upgrade erhalten. Wir haben einen neuen Benutzer erstellt, indem wir die folgenden Abfragen für unsere Datenbank ausgeführt haben. Ich glaube, dies ist eine vorübergehende Lösung, um sha256_password anstelle der neuesten und guten Authentifizierung caching_sha2_password zu verwenden.
quelle
MySQLWorkbench 8.0.11 für macOS behebt dies. Ich kann eine Verbindung mit einer durch ein Root-Passwort geschützten MySQL-Instanz herstellen, die im Docker ausgeführt wird.
quelle
Obwohl dies keine echte Lösung sein sollte, funktioniert es lokal, wenn Sie nicht weiterkommen
quelle
Die folgende Lösung hat bei mir funktioniert
Gehen Sie zu MySQL Workbench -> Server-> Benutzer und Berechtigungen. 1.Klicken Sie auf Konto hinzufügen
2. Unter der Registerkarte Anmeldung finden Sie neue Details. Stellen Sie sicher, dass Sie den Authentifizierungstyp als Standard auswählen und die entsprechenden Administratorrollen und Schemaberechtigungen auswählen
quelle
Wenn Sie versuchen, von einem textbasierten MySQL-Client von einem anderen Computer aus eine Verbindung zu einem MySQL-Server herzustellen (sei es Docker oder nicht)
Die meisten Antworten beziehen sich auf die Verbindung von einem Desktop-Client oder auf die Umstellung auf eine ältere Authentifizierungsmethode. Wenn Sie es mit dem MySQL-Client (textbasiert) verbinden, habe ich es mit einem Debian Buster in einem Docker-Container zum Laufen gebracht.
Angenommen, Sie haben das apt-System und wget eingerichtet, gehen Sie wie folgt vor:
sudo apt-get update
sudo apt-get install lsb-release -y
sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb
und wählen Sie die gewünschten Optionen. In meinem Fall muss ich nurMySQL Tools & Connectors
aktiviert sein.sudo apt-get update
sudo apt-get install mysql-client -y
quelle
Versuchen Sie, beim Herunterladen und Installieren von MySql ein altes Passwort zu verwenden, das mir geholfen hat. Oder folgen Sie der von Santhosh Shivan für Mac OS veröffentlichten Methode.
quelle
Das Herunterladen einer Entwicklungsversion von 8.0.11-rc funktionierte für mich auf einem Mac. mit den folgenden Docker-Befehlen:
quelle
Ich habe dieses Problem durch die Installation von MySQL 5.7 gelöst:
Schritt 1 - Aktivieren Sie das MySQL Repository
Zunächst müssen Sie das MySQL 5.7 Community Release Yum Repository auf Ihrem System aktivieren. Die RPM-Pakete für die Konfiguration des YUM-Repositorys sind auf der offiziellen MySQL-Website verfügbar. Verwenden Sie den folgenden Befehl gemäß Ihrer Betriebssystemversion.
Auf CentOS und RHEL 7
Auf CentOS und RHEL 6
Auf Fedora 27
Auf Fedora 26
Auf Fedora 25
Schritt 2 - Installieren Sie MySQL 5.7 Server
Da Sie das MySQL yum-Repository erfolgreich auf Ihrem System aktiviert haben. Installieren Sie jetzt den MySQL 5.7-Community-Server mit den folgenden Befehlen gemäß Ihrer Betriebssystemversion.
Auf CentOS und RHEL 7/6
Auf Fedora 27/26/25
Quelle: https://tecadmin.net/install-mysql-5-7-centos-rhel/
quelle
Das Zurücksetzen auf die vorherigen Installationen (auf MySQL Community Server 5.7 und Workbench 6.1) und das Einrichten neuer MySQL-Anmeldeinformationen hat bei mir funktioniert!
quelle