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.