J'obtiens cette erreur lorsque j'essaie de me connecter à MySQL à partir de la ligne de commande:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Je pense que cela signifie que MySQL n'a pas encore été démarré. J'essaye donc de le démarrer:
sudo /etc/init.d/mysql start
et je reçois ce message:
* Starting MySQL database server mysqld [fail]
Où dois-je chercher / que dois-je faire pour démarrer MySQL? J'utilise Ubuntu 8.04 et j'ai installé MySQL via apt-get. J'ai pu le démarrer et l'utiliser à quelques reprises, donc je ne sais pas pourquoi il a juste cessé de fonctionner.
Mise à jour: lors de l'exécution de l'état sudo /etc/init.d/mysql, je reçois le message:
* MySQL is stopped.
Mise à jour # 2: Mes fichiers journaux (/var/log/mysql.log & /var/log/mysql.err) sont vides (si ce sont les bons)
Réponses:
Sur Ubuntu 12.04, j'ai eu ce même problème après avoir changé la taille des tampons dans le fichier /etc/mysql/my.cnf, je pense que je me suis un peu laissé emporter. Quoi qu'il en soit, après avoir essayé de les ramener au paramètre par défaut, MySQL ne démarre toujours pas.
J'ai essayé plusieurs méthodes différentes pour le résoudre, j'ai remarqué que /var/run/mysql/mysql.sock était manquant. Cela pourrait être un problème, vous pouvez donc y vérifier et s'il est manquant, vous pouvez le remplacer en procédant comme suit:
Cela n'a PAS résolu le problème pour moi! Mais cela peut l'être pour certains.
Ce que je devais faire était de réinstaller complètement MySQL, pour ce faire, vous devrez utiliser la commande sudo. Les étapes pour supprimer et réinstaller complètement MySQL sont les suivantes:
Supprimer MySQL
Vous pouvez éventuellement utiliser aptitude, en remplaçant apt-get --purge par aptitude
Nettoyer
Supprimer le répertoire MySQL
Installez MySQL
MySQL devrait maintenant être en cours d'exécution, vous pouvez le vérifier en procédant comme suit:
Tu devrais voir
J'espère que cela aide et j'ai pensé ajouter après avoir fait toutes mes bases de données et tables là où elles étaient encore disponibles, mais j'ai dû recréer les utilisateurs et les mots de passe pour ces bases de données.
Remarque: Si vous aviez l'extension mysql pour php, vous devrez également la réinstaller.
la source
sudo touch /var/run/mysqld/mysqld.sock
et je l'ai découvert depuis la fin de/var/log/syslog
(par exemple, changer pour mysqld)/var/run/mysqld
ou/var/run/mysql
?AVERTISSEMENT: C'est dangereux, votre mysql ne sera PAS sûr et n'importe qui pourra connecter, éditer, etc. vos tables, ne laissez pas votre serveur fonctionner avec cette commande.
Essayez de le démarrer en mode sans échec:
/usr/local/mysql/bin/safe_mysqld --user=mysql --skip-grant-tables
Si cela fonctionne, il peut y avoir des problèmes avec votre schéma_information ou vos tables mysql. Si cela ne fonctionne pas, quelque chose ne va pas avec votre installation.
la source
sudo /usr/bin/mysqld_safe --user=mysql --skip-grant-tables
Vérifiez vos fichiers journaux comme dans les autres réponses. Vérifiez également que vous disposez de suffisamment (ou d'espace disque). MySQL peut se comporter de cette manière sur une partition vide.
df -h
Si ce n'est pas le cas, consultez les documents de MySQL sur le débogage d'un serveur . Leur
myisamchk
(si vous utilisez MyISAM) est particulièrement utile.la source
J'ai également récemment rencontré ce problème après la mise à jour d'ubuntu. Je ne sais pas encore exactement quel est le problème. Un problème qui a fonctionné pour le moment pour faire fonctionner mysql était de faire:
Cela le fait fonctionner, indiquant que l'apparmeur a arrêté l'exécution de mysql et expliquant pourquoi les journaux sont vides probablement aussi: mysql n'était pas autorisé à s'exécuter.
Cela reste un problème étrange, car jusqu'à présent, il n'y a pas de "plaintes" à ce sujet
/var/log/apparmor
, et la seule entrée d'audit dans kern.log est de changer le profil en mode de plainte.Notez qu'en faisant cela, j'ai également ajouté un
/etc/apparmor.d/local/usr.sbin.mysql
fichier (vide) car la commande aa-plaint s'est plainte de ne pas trouver ce fichier.la source
J'ai eu le même problème avec ma gouttelette Digital Ocean de 512 Mo.
Il s'est avéré que cela est dû à une mémoire insuffisante.
Une solution immédiate consiste à redémarrer d'autres services pour libérer de la mémoire, par exemple.
Avec un peu de mémoire, vous devriez pouvoir redémarrer mysql
La solution à long terme consiste soit à obtenir plus de RAM, soit à créer de la mémoire d'échange .
la source
Jetez un œil à vos fichiers journaux. Sur Debian au moins, vous obtenez les connexions mysql *
/var/log
.la source
Eu ce même problème, il s'avère que la solution me fixait en face. Le lecteur était plein. Vous n'avez pas de journaux car il n'y a pas où les écrire .....
la source
Le même problème me tourmentait depuis des lustres sur un Ubuntu 12.04 Digital Ocean VPS avec mysql 5.6 installé à partir d'un PPA. Les symptômes étaient que le fichier mysql.sock
/var/run/mysqld/mysql.sock
était supprimé mais jamais recréé, donc je devais exécuter manuellement les commandes suivantes à chaque mise à jour de mysql ou redémarrage du serveur:C'était de la réponse de Kyle C (sauf avec mysqld au lieu de mysql). À la fin, j'ai rétrogradé à mysql 5.5 qui vient quand vous exécuteriez normalement une
sudo apt-get install mysql-server
commande. Mais ce n'était pas simple alors voici ce que je devais faire:J'espère que cela aidera quelqu'un d'autre à ressentir la même douleur.
la source
comprendre que cela pourrait aider les autres ... alors le voici.
Je voulais migrer mon mysql 5.5 (par défaut d'ubuntu) vers le nouveau 5.7 ( je voulais
jouer avec le nouveau type JSON natif)
J'ai suivi les instructions pour installer la dernière version ....
mais MySQL ne voulait pas démarrer.
J'ai passé pas mal de temps à chercher, puis j'ai trouvé cette ligne dans
/var/log/mysql/errors.log
:unknown variable 'key_buffer=16M'
et c'est quelque chose qui est défini dans
/etc/mysql/my.cnf
cela, pendant la mise à niveau, j'ai choisi de garder.Donc, assez facile après ça:
remplacé ma
my.cnf
par unemy.cnf.dpkg-dist
version située dans le même répertoire ...Puis a dû courir
sudo mysql_upgrade -u root -p sudo service mysql restart
et maintenant MySQL est de retour et fonctionne
la source
Trouvé une autre variation sur ce qui peut être faux. J'ai déplacé le répertoire de données, et il s'avère que j'ai oublié de chown le répertoire pour l'utilisateur mysql, qui échoue également sans aucune sortie. Rétrospectivement faux, mais un manque de message d'erreur rend chaque problème trivial difficile à trouver.
la source