GNU/Linux >> Tutoriels Linux >  >> Linux

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), changez également le plugin d'authentification en 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. Tout 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. Ensuite, exécutez les commandes mysql => copiez-le et collez-le manuellement dans la 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écutez 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.


Pour Ubuntu 18.04 et mysql 5.7

  • étape 1 :sudo mkdir /var/run/mysqld;

    étape 2 :sudo chown mysql /var/run/mysqld

    étape 3 :sudo mysqld_safe --skip-grant-tables &quitter (utiliser quit si c'est bloqué )

connectez-vous à mysql sans mot de passe

  • étape 4 :sudo mysql --user=root mysql

    étape 5 :SELECT user,authentication_string,plugin,host FROM mysql.user;

    étape 6 :ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'

connectez-vous maintenant avec

  • mysql -u root -p <root>

Vous pouvez essayer comme suit, cela fonctionne pour moi.

Démarrer le serveur :

sudo service mysql start

Maintenant, allez dans le dossier des chaussettes :

cd /var/run

Sauvegardez la chaussette :

sudo cp -rp ./mysqld ./mysqld.bak

Arrêter le serveur :

sudo service mysql stop

Restaurer la chaussette :

sudo mv ./mysqld.bak ./mysqld

Démarrez mysqld_safe :

 sudo mysqld_safe --skip-grant-tables --skip-networking &

Initialiser le shell mysql :

 mysql -u root

Modifier le mot de passe :

Par conséquent, choisissez d'abord la base de données

mysql> use mysql;

Entrez maintenant ci-dessous deux requêtes :

mysql> update user set authentication_string=password('123456') where user='root';
mysql> update user set plugin="mysql_native_password" where User='root'; 

Maintenant, tout ira bien.

mysql> flush privileges;
mysql> quit;

Pour vérifier :

mysql -u root -p

c'est fait !

N.B, After login please change the password again from phpmyadmin

Vérifiez maintenant hostname/phpmyadmin

Username: root

Password: 123456

Pour plus de détails, veuillez consulter Comment réinitialiser le mot de passe oublié phpmyadmin dans Ubuntu


Le mysql La commande utilise par défaut les sockets UNIX pour se connecter à MySQL.

Si vous utilisez MariaDB, vous devez charger le plug-in Unix Socket Authentication côté serveur.

Vous pouvez le faire en éditant le [mysqld] configuration comme celle-ci :

[mysqld]
plugin-load-add = auth_socket.so

Selon la distribution, le fichier de configuration est généralement situé à /etc/mysql/ ou /usr/local/etc/mysql/

Si unix_socket=OFF est défini dans la même section, activez-le en le remplaçant par unix_socket=ON ou ce correctif ne s'applique pas.


Linux
  1. Commande yum-config-manager introuvable [Réparer]

  2. c_rehash :Erreur de commande introuvable – Solution

  3. La récupération de la clé publique n'est pas autorisée - Erreur WSO2 MySQL

  4. Message d'erreur dans le transcodeur Arista, comment installer le plugin Ffdeinterlace ?

  5. Correction sudo :add-apt-repository :erreur de commande introuvable

Comment réparer :l'utilisateur n'est pas dans l'erreur de fichier sudoers

Correctif – ERREUR MySQL 1819 (HY000) :votre mot de passe ne satisfait pas aux exigences de la politique actuelle

If…else…if Statement (erreur de commande introuvable) ?

sudo :python :commande introuvable

Récupérer la base de données mysql - mysql/mysqldump donne la table <database>.<tablename> n'existe pas (1146)

sudo -i renvoie une erreur