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
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
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.
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
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.
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.
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.