Ubuntu 15.10 mysql error 1524 - unix_socket

37

Sur Ubuntu 15.10, à un moment donné (peut-être après une installation et une suppression de mariadb), mysql était incapable de fonctionner. Les tâches sont en hausse, mais le serveur est en panne.

À la commande:

mysql -u root -p

le système répond avec un comme:

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

Aucun moyen de se connecter, aucun plugin trouvé, aucune erreur dans les fichiers de configuration (tous par défaut).

Comment reprendre le contrôle et faire fonctionner le serveur mysql?

    
posée Hydra Starmaster 03.12.2015 - 12:51
la source

2 réponses

72

Le "unix_socket" a été appelé par le processus d'authentification mysql (peut-être lié à une migration partielle de la base de données vers mariadb, maintenant supprimée). Pour que tout fonctionne de nouveau, allez à:

sudo su

puis suivez:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot

Cela arrêtera complètement mysql, contournera l’authentification de l’utilisateur (aucun mot de passe nécessaire) et se connectera à mysql avec l’utilisateur "root".

Maintenant, dans la console mysql, utilisez mysql administrative db:

use mysql;

Pour réinitialiser le mot de passe root sur mynewpassword (modifiez-le à votre guise), juste pour en être sûr:

update user set password=PASSWORD("mynewpassword") where User='root';

Celui-ci écrasera la méthode d'authentification, supprimera la requête unix_socket (et tout le reste), en restaurant une méthode de mot de passe normale et fonctionnelle:

update user set plugin="mysql_native_password";

Quittez la console mysql:

quit;

Arrêtez et démarrez tout ce qui concerne mysql:

/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start

N'oubliez pas de exit le mode su.

Maintenant, le serveur mySQL est opérationnel. Vous pouvez vous connecter avec root:

mysql -u root -p

ou ce que vous voulez. L'utilisation du mot de passe est opérationnelle.

C'est ça.

    
réponse donnée Hydra Starmaster 03.12.2015 - 13:16
la source
10

Voici mes étapes:

/etc/init.d/mysql stop
sudo killall mysqld_safe
sudo killall mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
update user set plugin="mysql_native_password";
quit;
/etc/init.d/mysql stop
sudo kill -9 $(pgrep mysql)
/etc/init.d/mysql start
    
réponse donnée Roy Yan 26.01.2016 - 15:36
la source

Lire d'autres questions sur les étiquettes