Mon problème a commencé par le fait que je ne pouvais plus me connecter en tant que Root sur mon installation mysql. J'ai essayé d'exécuter mysql sans que les mots de passe soient activés... mais à chaque fois que je lançais la commande
# mysqld_safe --skip-grant-tables &
Je n'aurais jamais récupéré le prompteur. J'essayais de suivre ces instructions pour récupérer le mot de ce mot de passe .
L'écran ressemble à ceci :
root@jj-SFF-PC:/usr/bin# mysqld_safe --skip-grant-tables
120816 11:40:53 mysqld_safe Logging to syslog.
120816 11:40:53 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
et je n'obtiens pas d'invite pour commencer à taper les commandes SQL pour réinitialiser le mot de passe.
Quand je le tue en appuyant sur CTRL + C j'obtiens le message suivant :
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
Si je réessaie la commande et que je la laisse suffisamment longtemps, j'obtiens la série de messages suivante :
root@jj-SFF-PC:/run/mysqld# 120816 13:15:02 mysqld_safe Logging to syslog.
120816 13:15:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
120816 13:16:42 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
[1]+ Done mysqld_safe --skip-grant-tables
root@jj-SFF-PC:/run/mysqld#
Mais ensuite, si j'essaie de me connecter en tant que Root en faisant :
# mysql -u root
Je reçois le message d'erreur suivant :
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
J'ai vérifié et /var/run/mysqld/mysqld.sock
Le fichier n'existe pas. Le dossier existe, mais pas le fichier.
Aussi, je ne sais pas si ça peut aider ou non, mais j'ai exécuté find / -name mysqld
et ça a donné :
/var/run/mysqld - folder
/usr/sbin/mysqld - file
/run/mysqld - folder
Je suis novice en matière de Linux et de MySQL, je ne sais donc pas si c'est normal ou non. Mais j'inclus cette information au cas où elle serait utile.
J'ai finalement décidé de désinstaller et de réinstaller mysql.
apt-get remove mysql-server
apt-get remove mysql-client
apt-get remove mysql-common
apt-get remove phpmyadmin
Après avoir réinstallé tous les paquets dans le même ordre que ci-dessus, pendant l'installation de phpmyadmin, j'ai obtenu la même erreur :
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
J'ai donc essayé à nouveau de désinstaller/réinstaller. Cette fois, après avoir désinstallé les paquets, j'ai également renommé manuellement tous les fichiers et répertoires mysql en mysql.bad
dans leurs emplacements respectifs.
/var/lib/mysql
/var/lib/mysql/mysql
/var/log/mysql
/usr/lib/perl5/DBD/mysql
/usr/lib/perl5/auto/DBD/mysql
/usr/lib/mysql
/usr/bin/mysql
/usr/share/mysql
/usr/share/dbconfig-common/internal/mysql
/etc/init.d/mysql
/etc/apparmor.d/abstractions/mysql
/etc/mysql
Puis j'ai essayé de réinstaller mysql-server
y mysql-client
à nouveau. Mais j'ai remarqué qu'il ne me demande pas de mot de passe. N'est-il pas censé demander un mot de passe administrateur ?
0 votes
J'ai le même problème. Je viens de le résoudre. stackoverflow.com/questions/18150858/
3 votes
Duplication possible de Impossible de se connecter au serveur MySQL local via le socket '/var/mysql/mysql.sock' (38)
0 votes
Résolu en redémarrant simplement le serveur, puis en redémarrant le service mysql
0 votes
@Anto Il ne s'agit pas d'un doublon. Celui-ci a
/var/run/mysqld/mysqld.sock
manquant. Le problème que vous avez lié contient ce fichier.0 votes
Aucune des réponses que j'ai trouvées ici ou ailleurs n'a résolu mon problème. Comme il s'agissait d'un nouveau projet, j'ai opté pour PostgreSQL et ça marche ! :-)