12 votes

MySQL ne démarre pas!

Je reçois cette erreur en essayant de me connecter à MySQL depuis la ligne de commande :

ERROR 2002 (HY000) : Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock' (2)

Je pense que cela signifie que MySQL n'a pas encore été démarré. Donc j'essaye de le démarrer :

sudo /etc/init.d/mysql start

et je reçois ce message :

* Démarrage du serveur de base de données MySQL mysqld [échec] 

Où dois-je regarder/que dois-je faire pour démarrer MySQL ? Je suis sur Ubuntu 8.04 et j'ai installé MySQL via apt-get. J'ai réussi à le démarrer et à l'utiliser quelques fois donc je ne sais pas pourquoi il a soudainement arrêté de fonctionner.

Mise à jour : En exécutant sudo /etc/init.d/mysql status je reçois le message :

* MySQL est arrêté.

Mise à jour #2 : Mes fichiers journaux (/var/log/mysql.log & /var/log/mysql.err) sont vides (si ce sont les bons fichiers)

0 votes

Que se passe-t-il lorsque vous faites sudo /etc/init.d/mysql status

2voto

jms Points 318

Jetez un œil à vos fichiers journaux. Sur Debian au moins, vous obtenez les journaux mysql* dans /var/log.

3 votes

Mysql.err et mysql.log sont tous les deux vides

1voto

Andy Points 22

J'avais le même problème, il s'avère que la solution était sous mes yeux. Le disque était plein. Vous n'obtenez aucun journal car il n'y a nulle part où les écrire.....

0voto

Programster Points 109

Le même problème m'a tourmenté pendant des années sur un serveur VPS Digital Ocean Ubuntu 12.04 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 manuellement exécuter les commandes suivantes à chaque mise à jour de mysql ou au redémarrage du serveur :

sudo touch /var/run/mysqld/mysql.sock
sudo chown mysql /var/run/mysqld/mysql.sock

C'était la réponse de Kyle C (sauf avec mysqld au lieu de mysql). Finalement, j'ai rétrogradé vers mysql 5.5 qui est normalement installé lorsque vous exécutez la commande sudo apt-get install mysql-server. Cependant, ce n'était pas si simple, voici ce que j'ai dû faire :

# Démarrer manuellement mysql si nécessaire
sudo touch /var/run/mysqld/mysql.sock
sudo chown mysql /var/run/mysqld/mysql.sock
sudo service mysql start

# Faire une sauvegarde de toutes les bases de données
# nous allons supprimer les fichiers mysql donc ne sautez pas cette étape)
mysqldump -u root -p > all-databases.sql

# Supprimer complètement mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean

# Supprimer mysql 5.6 des paquets (sinon il se réinstallera en 5.6)
rm /etc/apt/sources.list.d/ondrej-(quelque chose avec mysql, merci de vérifier)

# supprimer un drapeau qui empêcherait l'installation
# parce qu'il est considéré comme une rétrogradation
sudo rm /var/lib/mysql/debian-5.6.flag

# J'ai dû supprimer aussi les fichiers mysql
# référence http://ubuntuforums.org/showthread.php?t=1998260&page=3
rm -rf /var/lib/mysql
rm -rf /etc/mysql*

# Installer mysql
sudo apt-get install mysql-server mysql-client mysql-common php5-mysql

# mettre à jour manuellement le fichier all-databases.sql et
# supprimer toutes les clauses STATS_PERSISTENT lors de la création des tables

# réimporter les bases de données
mysql -u root -p < all-databases.sql

# redémarrer apache
sudo service apache2 restart

# à ce stade, mon site wordpress affichait une erreur de connexion à la base de données.
# Cela a été résolu en se connectant à mysql et en exécutant :
FLUSH PRIVILEGES

En espérant que cela aidera quelqu'un d'autre souffrant du même problème.

0voto

dGo Points 153

Je pense que cela pourrait aider d'autres... alors le voici.

Je voulais migrer ma mysql 5.5 (par défaut d'Ubuntu) vers la nouvelle 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é un certain temps à chercher et j'ai trouvé cette ligne dans le /var/log/mysql/errors.log:

variable inconnue 'key_buffer=16M'

et c'est quelque chose qui est défini dans /etc/mysql/my.cnf que, lors de la mise à niveau, j'ai choisi de conserver.

Donc, assez facile après ça :
j'ai remplacé mon my.cnf par la version my.cnf.dpkg-dist située dans le même répertoire...

Ensuite j'ai dû exécuter

sudo mysql_upgrade -u root -p sudo service mysql restart

et maintenant MySQL est à nouveau en marche

0voto

Robert Novak Points 619

J'ai trouvé une autre variation de ce qui peut aller mal. 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, ce qui échoue également sans aucun message de sortie. Clairement une erreur en recul, mais un manque de message d'erreur rend chaque problème trivial difficile à trouver.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X