Je suis sur Kubuntu 12.04, et après l'installation de mysql via un apt-get (version mysql: 5.5.35), j'essaie de démarrer le service mysql, mais j'ai l'erreur suivante:
Sudo service mysql start
start: le travail n'a pas pu démarrer
Donc, j'ai googlé ce problème, il est dit que je dois aller au /var/log/mysql/error.log
Mais mon fichier error.log est vide :(
Puis j'ai vérifié les permissions :
drwxr-s --- 2 mysql adm 4096 7 avr. 11:21 mysql
-rw-r ----- 1 mysql adm 0 avr 7 11:21 error.log
Donc je ne sais pas quoi faire ... Pourquoi cette erreur? Pourquoi le fichier d'erreur est-il vide?
Tout d’abord, faites une sauvegarde de votre répertoire/var/lib/mysql/pour votre sécurité.
Sudo mkdir /home/<your username>/mysql/
cd /var/lib/mysql/
Sudo cp * /home/<your username>/mysql/ -R
Procédez ensuite à la purge de MySQL (cela supprimera php5-mysql et phpmyadmin ainsi que plusieurs autres bibliothèques, soyez donc prêt à réinstaller certains éléments après cela.
Sudo apt-get purge mysql-server-5.1 mysql-common
Supprimez le dossier/etc/mysql/et son contenu
Sudo rm /etc/mysql/ -R
Ensuite, vérifiez que vos anciens fichiers de base de données sont toujours dans/var/lib/mysql/s'ils ne le sont pas, puis recopiez-les dans le dossier puis cliquez sur root: root
(ne les lancez que si les fichiers ne sont plus là)
Sudo mkdir /var/lib/mysql/
Sudo chown root:root /var/lib/mysql/ -R
cd ~/mysql/
Sudo cp * /var/lib/mysql/ -R
Ensuite, installez le serveur mysql
Sudo apt-get install mysql-server
Enfin, réinstallez tous les paquets manquants tels que phpmyadmin et php5-mysql.
Mon problème était à court de mémoire. Digital Ocean propose d'excellentes instructions pour ajouter de la mémoire d'échange pour Ubuntu: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
Cela a résolu le problème et m'a permis de redémarrer Mysql qui, autrement, ne démarrerait pas.
La réinstallation fonctionnera car elle réinitialisera toute la valeur par défaut. Il est préférable de rechercher les véritables coupables (une erreur d’édition de my.cnf se produit, par exemple une suggestion de paramètre incorrect/obsolète lors du réglage de mysql.)
Voici le diagnostic de mysql si vous pensez qu'une valeur est fausse dans my.cnf: Exécutez mysqld pour vous montrer les résultats.
Sudo -u mysql mysqld
Ensuite, corrigez toutes les erreurs de clé my.cnf qui apparaissent à l’écran jusqu’à ce que mysqld démarre correctement.
Puis redémarrez-le en utilisant
Sudo service mysql restart
Dans la plupart des cas, il suffit de purger le paquet mysql-server et de le réinstaller pour faire le travail.
Courir,
Sudo apt-get purge mysql-server-5.1 mysql-common
suivi par
Sudo apt-get install mysql-server
Dans mon cas, c’est tout simplement parce que le disque est plein… .. Il suffit de libérer de l’espace disque et de redémarrer et tout va bien.
Cette ligne a résolu le problème dans mon cas,
Sudo apt clean
Vérifier les permissions du fichier, si édité
Échouer:
$ Sudo chmod 776 /etc/mysql/my.cnf
$ Sudo service mysql restart
mysql stop/waiting
start: Job failed to start
D'accord:
$ Sudo chmod 774 /etc/mysql/my.cnf
$ Sudo service mysql restart
stop: Unknown instance:
mysql start/running, process 9564
Dans mon cas, je fais:
Sudo nano /etc/mysql/my.cnf
bind
noms et IPLa solution proposée nécessite assez de disque dur libre, le problème réel était le manque de mémoire du disque dur. Donc, si vous n'avez pas de serveur alternatif ou d'espace disque libre, vous avez besoin d'une autre alternative.
J'ai rencontré cette erreur avec mon serveur de production (Linode VPS) lorsque j'exécutais un téléchargement en bloc dans MySQL. Ce n’est pas une solution appropriée, mais un FIX TRÈS RAPIDE, dont nous avons souvent besoin en production pour accélérer les choses.
J'ai eu le même problème. Mais je découvre que mon disque dur est plein.
$ Sudo cat /var/log/upstart/mysql.log
/proc/self/fd/9: ERROR: The partition with /var/lib/mysql is too full!
Alors je cours
$ df -h
Et j'ai eu le message
/dev/xvda1 7.8G 7.4G 0 100% /
Puis j'ai découvert quel dossier était plein en lançant la commande suivante sur le terminal
$ cd /var/www
$ for i in *; do echo $i; find $i |wc -l; done
Cela me donne le nombre de fichiers sur chaque dossier de/var/www. Je me suis connecté au dossier contenant la plupart des fichiers et j'ai supprimé certains fichiers de sauvegarde. J'ai ensuite supprimé les fichiers inutiles et les fichiers en cache.
puis je lance $ Sudo /etc/init.d/mysql start et ça marche encore
Dans mon cas: