web-dev-qa-db-fra.com

Upstart ne peut pas démarrer MySQL

Après une installation de MySQL, je reçois quelques erreurs et je ne peux pas exécuter le démon MySQL. J'ai essayé de désinstaller et de réinstaller plusieurs fois et je ne suis pas sûr de ce qui se passe.

Voici un extrait de ce que je vois:

Setting up mysql-server-5.5 (5.5.31-0ubuntu0.13.04.1) ...
runlevel:/var/run/utmp: No such file or directory
initctl: Unknown job: mysql

Sudo service mysql start m'indique une erreur unknown job et mysqld n'est pas détecté sur mon système.

Je ne sais pas trop où aller à partir de là, à part peut-être compiler à partir des sources et créer mon propre script de démarrage. Bien sûr, j'aimerais faire les choses facilement, si possible.

Comment puis-je exécuter avec succès MySQL ou résoudre ce problème?

Voici le journal complet de ce qui se passe lorsque j'exécute la commande d'installation:

Sudo apt-get install mysql-server
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libaio1 libdbd-mysql-Perl libdbi-Perl libnet-daemon-Perl libplrpc-Perl libterm-readkey-Perl mysql-client-5.5 mysql-client-core-5.5
  mysql-server-5.5 mysql-server-core-5.5
Suggested packages:
  tinyca mailx
The following NEW packages will be installed:
  libaio1 libdbd-mysql-Perl libdbi-Perl libnet-daemon-Perl libplrpc-Perl libterm-readkey-Perl mysql-client-5.5 mysql-client-core-5.5 mysql-server
  mysql-server-5.5 mysql-server-core-5.5
0 upgraded, 11 newly installed, 0 to remove and 13 not upgraded.
Need to get 0 B/25.4 MB of archives.
After this operation, 88.0 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Preconfiguring packages ...
Selecting previously unselected package libaio1:i386.
(Reading database ... 159063 files and directories currently installed.)
Unpacking libaio1:i386 (from .../libaio1_0.3.109-3_i386.deb) ...
Selecting previously unselected package libnet-daemon-Perl.
Unpacking libnet-daemon-Perl (from .../libnet-daemon-Perl_0.48-1_all.deb) ...
Selecting previously unselected package libplrpc-Perl.
Unpacking libplrpc-Perl (from .../libplrpc-Perl_0.2020-2_all.deb) ...
Selecting previously unselected package libdbi-Perl.
Unpacking libdbi-Perl (from .../libdbi-Perl_1.622-1_i386.deb) ...
Selecting previously unselected package libdbd-mysql-Perl.
Unpacking libdbd-mysql-Perl (from .../libdbd-mysql-Perl_4.021-1_i386.deb) ...
Selecting previously unselected package mysql-client-core-5.5.
Unpacking mysql-client-core-5.5 (from .../mysql-client-core-5.5_5.5.31-0ubuntu0.13.04.1_i386.deb) ...
Selecting previously unselected package libterm-readkey-Perl.
Unpacking libterm-readkey-Perl (from .../libterm-readkey-Perl_2.30-4build4_i386.deb) ...
Selecting previously unselected package mysql-client-5.5.
Unpacking mysql-client-5.5 (from .../mysql-client-5.5_5.5.31-0ubuntu0.13.04.1_i386.deb) ...
Selecting previously unselected package mysql-server-core-5.5.
Unpacking mysql-server-core-5.5 (from .../mysql-server-core-5.5_5.5.31-0ubuntu0.13.04.1_i386.deb) ...
Selecting previously unselected package mysql-server-5.5.
Unpacking mysql-server-5.5 (from .../mysql-server-5.5_5.5.31-0ubuntu0.13.04.1_i386.deb) ...
Selecting previously unselected package mysql-server.
Unpacking mysql-server (from .../mysql-server_5.5.31-0ubuntu0.13.04.1_all.deb) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Setting up libaio1:i386 (0.3.109-3) ...
Setting up libnet-daemon-Perl (0.48-1) ...
Setting up libplrpc-Perl (0.2020-2) ...
Setting up libdbi-Perl (1.622-1) ...
Setting up libdbd-mysql-Perl (4.021-1) ...
Setting up mysql-client-core-5.5 (5.5.31-0ubuntu0.13.04.1) ...
Setting up libterm-readkey-Perl (2.30-4build4) ...
Setting up mysql-client-5.5 (5.5.31-0ubuntu0.13.04.1) ...
Setting up mysql-server-core-5.5 (5.5.31-0ubuntu0.13.04.1) ...
Setting up mysql-server-5.5 (5.5.31-0ubuntu0.13.04.1) ...
runlevel:/var/run/utmp: No such file or directory
initctl: Unknown job: mysql
runlevel:/var/run/utmp: No such file or directory
initctl: Unknown job: mysql
Setting up mysql-server (5.5.31-0ubuntu0.13.04.1) ...
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place

Voici le contenu de /var/log/mysql/error.log immédiatement après l'exécution de la commande apt-get pour l'installer.

130518 12:14:36 [Note] Plugin 'FEDERATED' is disabled.
130518 12:14:36 InnoDB: The InnoDB memory heap is disabled
130518 12:14:36 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130518 12:14:36 InnoDB: Compressed tables use zlib 1.2.7
130518 12:14:36 InnoDB: Using Linux native AIO
130518 12:14:36 InnoDB: Initializing buffer pool, size = 128.0M
130518 12:14:36 InnoDB: Completed initialization of buffer pool
130518 12:14:36 InnoDB: highest supported file format is Barracuda.
130518 12:14:36  InnoDB: Waiting for the background threads to start
130518 12:14:37 InnoDB: 5.5.31 started; log sequence number 1595675
130518 12:14:37  InnoDB: Starting shutdown...
130518 12:14:38  InnoDB: Shutdown completed; log sequence number 1595675
130518 12:14:38 [Note] Plugin 'FEDERATED' is disabled.
130518 12:14:38 InnoDB: The InnoDB memory heap is disabled
130518 12:14:38 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130518 12:14:38 InnoDB: Compressed tables use zlib 1.2.7
130518 12:14:38 InnoDB: Using Linux native AIO
130518 12:14:38 InnoDB: Initializing buffer pool, size = 128.0M
130518 12:14:38 InnoDB: Completed initialization of buffer pool
130518 12:14:38 InnoDB: highest supported file format is Barracuda.
130518 12:14:38  InnoDB: Waiting for the background threads to start
130518 12:14:39 InnoDB: 5.5.31 started; log sequence number 1595675
ERROR: 1064  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AL
TER TABLE user ADD column Show_view_priv enum('N','Y') CHARACTER SET utf8 NOT ' at line 1
130518 12:14:39 [ERROR] Aborting

130518 12:14:39  InnoDB: Starting shutdown...
130518 12:14:40  InnoDB: Shutdown completed; log sequence number 1595675
130518 12:14:40 [Note] /usr/sbin/mysqld: Shutdown complete
3
Ian Hunter

Il semble que de nombreuses applications s'appuient sur /var/run/utmp pour les informations de session.

Sudo touch /var/run/utmp
Sudo chmod 664 /var/run/utmp
Sudo reboot

après le redémarrage, exécutez ces commandes, comme suggéré par @coteyr, pour nettoyer installer mysql

Sudo apt-get purge mysql-server
Sudo apt-get update
Sudo apt-get install mysql-server 

Cela devrait résoudre votre problème.

EDIT:

Sudo apt-get purge mysql-server
Sudo apt-get purge mysql-common
Sudo rm -rf /var/log/mysql
Sudo rm -rf /var/log/mysql.*
Sudo rm -rf /var/lib/mysql
Sudo rm -rf /etc/mysql
Sudo apt-get install mysql-server --fix-missing --fix-broken

Cela semble fonctionner pour beaucoup de gens, comme dans ce article de blog

9
thefourtheye

Le problème n'est pas directement lié à MySql. L'outil de contrôle init daemon ne démarre pas le démon serveur mysql dans /etc/init.

Vous pouvez restaurer à la main:

Sudo initctl reload-configuration

Maintenant, le serveur mysql démarre comme prévu.

6
Temo

sur le travail inconnu, le mien résolu en utilisant cette

Sudo /etc/init.d/mysql start

au lieu de cela

Sudo service mysql start

ici où je me réfère

4
CFrey

Ce n'est probablement pas une solution technique, mais plutôt un moyen de contourner le problème. J'ai essayé cela et tout ce qui circule sur Internet pour résoudre ce problème. Rien n'a fonctionné. Enfin, j'ai rétrogradé les paquets à MYSQL 5.29 et cela a fonctionné à merveille. Merci.

1
Sudo apt-get install mysql-server

Ensuite, une fois installé, assurez-vous que /var/lib/mysql existe et que /etc/init.d/mysql existe. /usr/bin/mysqld et /usr/bin/mysqld_safe devraient également exister.

Si vous avez toujours des problèmes, il y a un problème avec le paquet (en supposant que vous n'y obtenez pas d'erreur). Vous pouvez le "purger", "mettre à jour" puis "installer" le paquet pour voir si cela efface l'erreur.

Sudo apt-get purge mysql-server
Sudo apt-get update
Sudo apt-get install mysql-server

Si cela ne fonctionne toujours pas, vous devrez créer un bogue avec les responsables du paquet.

1
coteyr

Je viens d'avoir ce problème maintenant et résolu.

Bien que vous ayez installé mysql-server, le démon doit être en cours d'exécution pour que le client puisse s'y connecter.

Commencez par vérifier si le serveur mysql fonctionne:

netstat -tap | grep mysql

Vous devriez voir quelque chose comme ça:

$ Sudo netstat -tap | grep mysql
tcp        0      0 localhost:mysql         *:*          LISTEN     6639/mysqld     

Si le serveur n'est pas en cours d'exécution, démarrez le démon à l'aide de la commande suivante:

/etc/init.d/mysql restart

Cela devrait résoudre votre problème.

0
user1527227