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 à nouveau, allez sur su:
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 requis) et se connectera à mysql avec l'utilisateur "root".
Maintenant, dans la console mysql, utilisez la base de données administrative mysql:
use mysql;
Pour réinitialiser le mot de passe root sur mynewpassword (changez-le à votre guise), pour en être sûr:
update user set password=PASSWORD("mynewpassword") where User='root';
Et celui-ci écrasera la méthode d'authentification, supprimera la demande 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 exit
le mode su.
Le serveur MySQL est maintenant 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.