Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL échoue sur :ERREUR mysql 1524 (HY000) :le plug-in 'auth_socket' n'est pas chargé

J'ai une solution !

Lors de la réinitialisation du mot de passe root à l'étape 2), remplacez également le plug-in d'authentification par 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;

Cela m'a permis de me connecter avec succès !

Solution de code complet

1. exécuter les commandes bash

1. d'abord, exécutez ces commandes bash

sudo /etc/init.d/mysql stop # stop mysql service
sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql

2. puis exécutez les commandes mysql => copiez-collez ceci manuellement dans cli

use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user

flush privileges;
quit;

3. exécuter plus de commandes bash

sudo /etc/init.d/mysql stop 
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p 

4. Problème de socket (d'après vos commentaires)

Lorsque vous voyez un socket erreur, une communauté est venue avec 2 solutions possibles :

sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &

(merci à @Cerin)

Ou

mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld  

(merci à @Peter Dvukhrechensky)

Chemins aveugles et erreurs de bord possibles

Utilisez 127.0.0.1 au lieu de localhost

mysql -uroot # "-hlocalhost" is default

Peut entraîner un "fichier manquant" ou une erreur slt.

mysql -uroot -h127.0.0.1

Fonctionne mieux.

Ignorer le problème de socket

J'ai trouvé de nombreuses façons de créer mysqld.sock fichier, modifiez les droits d'accès ou créez un lien symbolique. Ce n'était pas le problème après tout.

Ignorer le my.cnf fichier

Le problème n'était pas non plus là. Si vous n'êtes pas sûr, cela pourrait vous aider .