J'ai récemment mis à niveau Ubuntu 14.04LTS vers 15.04 et lors de cette mise à niveau, MySQL est probablement tombé en panne. Après la mise à niveau, j'ai lancé la commande (pour démarrer mysql):
Sudo service mysql start
Le résultat était une commande introuvable et il m'a été suggéré d'installer les packages mysql-server et mysql-common, ce qui signifie qu'ils ont été purgés lors de la mise à niveau. J'ai décidé d'installer à nouveau les paquets avec:
Sudo apt-get install mysql-server
Voici où j'ai rencontré des problèmes et des erreurs. Voici ce qui apparaît (en partie) sur mon terminal lorsque j'exécute la commande ci-dessus:
Setting up mysql-server-5.6 (5.6.24-0ubuntu2) ...
Job for mysql.service failed. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.6 (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.6; however:
Package mysql-server-5.6 is not configured yet.
Package mysql-community-server which provides mysql-server-5.6 is not installed.
dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
mysql-server-5.6
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
J'ai vérifié des problèmes presque "similaires" à ceci ici , ici et ici mais aucun ne semble aider et ceci provient d'anciennes mises à jour. De plus, j'ai décidé d'essayer d'installer le serveur, le client et le workbench à partir du centre logiciel Ubuntu. Une erreur s’est produite lors de l’installation, mais l’apparence semble s’être installée de toute façon, car elle montre que le serveur est en cours d’exécution à partir du plan de travail. Il se trouve que la pile LAMPP se trouve également dans le dossier ./opt et qu’il pourrait y avoir un conflit ici. L’autre problème est que je n’ai pas le contrôle sur le serveur depuis le terminal ni même le plan de travail. Si j'essaie d'accéder à MySQL depuis le terminal avec:
mycomp:~$ mysql -u user -p
Je reçois le résultat:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2)
Depuis qu'Ubuntu 15.04 est sorti il y a presque quelques jours, la solution ailleurs n'est pas facilement disponible. Si ce message était censé figurer sur un forum MySQL, je vous prie de m'excuser pour cette erreur, mais j'apprécierais toutes les réponses fournies.
Vérifiez les journaux lors du démarrage de mysql:
tail -f /var/log/mysql/error.log
Sudo service mysql start
(peut-être devez-vous d'abord arrêter le service avec Sudo service mysql stop
).Dans mon cas, j'ai eu les erreurs suivantes:
[ERREUR] mysqld: variable inconnue 'table_cache = 256'
[ERROR] Abandonner
En raison du problème mysql: table_cache renommé table_open_cache le serveur n'a pas démarré.
Renommer cette variable dans mes paramètres (/etc/mysql/conf.d/my_custom.cnf) a corrigé mon problème et mysql a démarré tel qu’il a été utilisé.
Enfin, j'ai mis à jour mysql en appelant Sudo mysql_upgrade -u root -p
Pour moi, MySQL est tombé en panne après la mise à niveau du 14.04 au 15.04 et après le passage de Systemd à Upstart.
Fait intéressant, je pourrais démarrer mysql manuellement, mais je n’ai pas pu le lancer via /etc/init.d/ (c’est-à-dire avec Sudo service mysql start
). Après avoir lu le script Ubuntu Upstart, il est devenu évident qu'Ubuntu s'attend à ce que apparmor
soit présent afin d'exécuter MySQL à partir d'Upstart.
Par conséquent, la solution qui a fonctionné pour moi:
Sudo aptitude install apparmor
Et c'était tout ce qui était nécessaire.
J'avais une erreur similaire et rien de ce que j'ai vu sur Internet ne pourrait m'aider. Le problème s'est avéré être stupide. J'avais précédemment changé le répertoire de données par défaut de mysql sur un disque dur secondaire. Comme ce disque n'était pas monté, j'obtenais l'erreur.
Pour vérifier si de tels problèmes d'accès sont à l'origine de l'erreur, recherchez le répertoire de données actuel de mysql dans le fichier de configuration mysql.
less /etc/mysql/mysql.conf.d/mysqld.cnf
dans certains cas, le chemin d'accès au fichier de configuration cible peut être légèrement différent:
less /etc/mysql/my.cnf
Recherchez l'entrée pour datadir
et copiez le chemin. Vérifiez si ce répertoire est accessible à l'aide de la commande cd
.
Vous avez peut-être déjà compris cela, mais j'espère que cela pourra aider quelqu'un d'autre à rencontrer le même problème.
Ma mise à niveau 14.10-15.04 est bloquée à l'endroit où le processus a tenté de démarrer mysqld avec un message obscur concernant le mot de passe administrateur root. J'ai consulté le processus mysqld en cours d'exécution et constaté que son identifiant de processus était complètement différent de celui indiqué par le processus de mise à niveau, qui allait démarrer un nouveau serveur mysqld. alors j'ai pensé qu'un "Sudo /etc/init.d/mysql stop" pourrait aider. Et voilà que le processus de mise à niveau a été complètement zoomé.
(Oups. Mauvais post. Je posterai ceci dans un autre sujet. Désolé pour ça)
Bonne chance.