Nouvelle installation du 11.04. Ensuite, j'ai suivi toutes les instructions ici: http://www.howtoforge.com/installing-Apache2-with-php5-and-mysql-support-on-ubuntu-11.04-lamp
Maintenant, quand je lance mysqld, j'obtiens cette erreur:
makara@rahu:~$ mysqld
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
111103 13:39:37 [Warning] Can't create test file /var/lib/mysql/rahu.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
111103 13:39:37 [ERROR] Aborting
111103 13:39:37 [Note] mysqld: Shutdown complete
Quelqu'un sur IRC a dit qu'il pourrait s'agir d'un problème de paquetage ??
Merci betterave
mysqld devrait être exécuté en tant qu'utilisateur mysql. Vous ne devez pas exécuter le démon manuellement. Mieux vaut commencer comme service comme ceci:
Sudo service mysql start
Le message d'erreur indique que le service mysql ne peut pas accéder à certains fichiers auxquels il ne devrait pas être autorisé à accéder dans votre environnement utilisateur. Donc, ce comportement devrait être correct. Cependant, vous devriez vérifier si les répertoires existent, à qui ils appartiennent et qui y a accès (utilisez ls -la à cette fin):
ls -la /var/lib/
ls -la /var/lib/mysql
J'ai rencontré le même problème après la mise à niveau de Oneiric vers Precise, qui met à niveau MySQL de la version 5.1 à la version 5.5.
Dans mon cas, le problème était que
/etc/apparmor.d/local/usr.sbin.mysqld
manquait, même si elle était incluse dans
/etc/apparmor.d/usr.sbin.mysqld
par défaut. Un simple
Sudo touch /etc/apparmor.d/local/usr.sbin.mysqld
résolu le problème pour moi.
Pour ceux qui cherchent: le fichier journal qui contient les informations intéressantes est/var/log/upstart/mysql. Il n'y aura rien dans/var/log/mysql (* |/*)
Ce que vous voyez peut inclure:
Sudo service mysql start
se traduit par
start: le travail n'a pas pu démarrer
Essayer manuellement de démarrer mysqld
en tant qu'utilisateur normal échouera normalement (avant que le problème ci-dessus ne soit résolu), car l'utilisateur n'a pas accès à/var/lib/mysql (cela se trouve dans le syslog).
Démarrer mysqld en tant que root réussira (je ne sais pas pourquoi)