162 votes

MySQL échoue sur : mysql "ERROR 1524 (HY000) : Le plugin 'auth_socket' n'est pas chargé".

Mon environnement local est :

  • Ubuntu 16.04 frais
  • avec PHP 7
  • avec MySQL 5.7 installé

    sudo apt-get install mysql-common mysql-server

Lorsque j'ai essayé de me connecter à MySQL (via CLI) :

mysql -u root -p

Je suis tombé sur un problème cyclique en 3 étapes.

1) La première était un problème de prise de courant

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Solution : redémarrer le PC.

Ce qui a conduit à une autre erreur :

2) Avec un accès refusé

ERROR 1698 (28000): Access denied for user 'root'@'localhost'.

Un problème possible ? Mauvais mot de passe pour l'utilisateur "Root" !

Solution : réinitialiser le mot de passe Root avec ce tutoriel .

Avec un mot de passe correct et une prise qui fonctionne, il y a une dernière erreur.

3) Mauvais plugin d'authentification

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

Ici, je me suis arrêté ou, d'une manière ou d'une autre, je suis revenu au point 1).

2 votes

Content que ça marche bien pour vous :) merci de nous avoir contactés !

7voto

Gorcer Points 46

Essayez-le : sudo mysql_secure_installation

Le travail est dans Ubuntu 18.04

6voto

Rohn Adams Points 679

Au cas où quelqu'un atterrirait ici après avoir fait la même erreur que moi :

  1. Commuté sur plugin="mysql_native_password" temporairement. J'ai accompli mes tâches.
  2. J'ai tenté de revenir au plugin "auth_socket", mais je l'ai référencé de façon incorrecte comme étant plugin="auth_socket" qui a donné lieu à mysql "ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded"
  3. En l'absence d'un moyen de se connecter pour réparer cette erreur, j'ai été contraint d'arrêter mysql et d'utiliser mysql_safe pour contourner l'authentification afin de passer au plugin approprié plugin="unix_socket"

J'espère que cela permettra à quelqu'un de gagner du temps s'il reçoit le message d'erreur de l'afficheur original, mais la véritable cause était une erreur dans le nom du plugin, et non pas l'absence de l'existence du plugin "auth_socket" lui-même, qui, selon la page d'accueil du site Web de l'UE, est un plugin de type "auth_socket". Documentation sur MariaDB :

Dans MariaDB 10.4.3 et plus, le plugin d'authentification unix_socket est installé par défaut, et il est utilisé par le compte utilisateur 'Root'@'localhost' par défaut.

4voto

J'ai essayé avec et ça marche

use mysql; # use mysql table
update user set authentication_string="" where User='root'; 

flush privileges;
quit;

0 votes

Cela a fonctionné pour moi sur mysql version 8.0.22 pour ubuntu 20.04+. Este dit PASSWORD() est supprimée de mysql 8.0.

-1voto

T3D Points 19

Cela peut fonctionner

CREATE USER 'user'@'localhost' IDENTIFIÉ PAR 'pwd' ;

ALTER USER 'Root'@'localhost' IDENTIFIÉ PAR 'MyNewPass' ;

-9voto

genghenggao Points 1

Vous pouvez essayer avec les commandes ci-dessous :

hduser@master:~$ sudo /etc/init.d/mysql stop
[ ok ] Stopping mysql (via systemctl): mysql.service.
hduser@master:~$ sudo /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.

0 votes

Pouvez-vous expliquer cela plus en détail ? Comment le redémarrage du serveur résout-il le message d'erreur donné ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X