Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich beim Herstellen einer Verbindung zu MySQL die Fehlermeldung „Plugin ‚auth_socket' ist nicht geladen'?

Warum erhalte ich beim Herstellen einer Verbindung zu MySQL die Fehlermeldung „Plugin ‚auth_socket' ist nicht geladen'?

Susan Sarandon
Susan SarandonOriginal
2024-11-19 03:18:02646Durchsuche

Why Am I Getting

Fehler beim Laden des MySQL-Plugins „auth_socket“

In dieser Frage ist der Benutzer beim Versuch, sich über die CLI bei MySQL anzumelden, auf den folgenden Fehler gestoßen :

mysql "ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded"

Dieser Fehler weist darauf hin, dass das für die Socket-Authentifizierung verantwortliche MySQL-Plugin nicht geladen ist. Um dieses Problem zu beheben, muss der Benutzer:

Das Authentifizierungs-Plugin aktualisieren:

Während des Zurücksetzens des Root-Passworts (Schritt 2) muss der Benutzer auch das Authentifizierungs-Plugin ändern zu „mysql_native_password“:

use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root';  # THIS LINE
flush privileges;
quit;

Zusätzlich Überlegungen:

  • Verwenden Sie 127.0.0.1 anstelle von Localhost: Das Herstellen einer Verbindung zu MySQL über „localhost“ kann dazu führen, dass Dateien fehlen oder Fehler bei der Skriptladezeit (SLT) auftreten. Verwenden Sie stattdessen „127.0.0.1“.
  • Überspringen Sie das Socket-Problem: Das Erstellen, Bearbeiten oder Verknüpfen der Datei mysqld.sock war nicht die zugrunde liegende Fehlerursache.
  • My.cnf überspringen: Die my.cnf-Konfigurationsdatei spielte auch keine Rolle Problem.

Vollständige Codelösung:

  1. Bash-Befehle:

    sudo /etc/init.d/mysql stop
    sudo mysqld_safe --skip-grant-tables &
    mysql -uroot
  2. MySQL Befehle:

    use mysql;
    update user set authentication_string=PASSWORD("") where User='root';
    update user set plugin="mysql_native_password" where User='root';
    flush privileges;
    quit;
  3. Bash-Befehle (Fortsetzung):

    sudo /etc/init.d/mysql stop
    sudo /etc/init.d/mysql start
    mysql -u root -p

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Herstellen einer Verbindung zu MySQL die Fehlermeldung „Plugin ‚auth_socket' ist nicht geladen'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn