Hier, mon collègue a eu de la casse sur sa VM Linux (virtualbox). Grub ne trouve pas la partition de boot ... Il existe plusieurs solutions plus ou moins périlleuses suivant l'expérience que l'on a de Linux. La plus simple est de tenter la ré-install depuis l'ISO. Ça prend tout au plus 15 minutes. On avait juste presque oublié qu'il faudrait reconfigurer/ré-installer la plupart des services (nginx, mysql). Comme on avait été un peu malin, on avait recopié les configurations Nginx. Pour la plupart des services, ça se passe bien. Ça c'est un poil corsé avec Mysql. Une erreur un peu inattendu après une redémarrage, alors qu'avant le mysql fonctionnait très bien.
Dans le navigateur on avait une ligne :
Can't connect to local MySQL server through socket '/var/mysql/mysqld.sock' (2)
Dans la log (/var/log/mysql/error.log
140420 22:42:56 [Warning] Using unique option prefix myisam-recover instead of myisam-recover-options is deprecated and will be removed in a future release. Please use the full name instead.
140420 22:42:56 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)
-----
150422 9:30:54 [ERROR] /usr/sbin/mysqld: Can't find file: './lcp_country_fr/drupal_cache_bootstrap.frm' (errno: 13)
150422 9:30:54 [ERROR] /usr/sbin/mysqld: Can't find file: './lcp_country_fr/drupal_semaphore.frm' (errno: 13)
150422 9:30:54 [ERROR] /usr/sbin/mysqld: Can't find file: './lcp_country_fr/drupal_semaphore.frm' (errno: 13)
Avec ce genre d'indice on peut chercher un moment, alors que la solution est simple. On commence donc à fouiller l'internet mondial et on fini par avoir un indice. Cet indice c'est apparmor.
Pour mémoire apparmor c'est un peu le monsieur sécurité dans Ubuntu pour les applications. Tout de suite je fais la relation. J'avais déjà écrit quelques lignes à son sujet ici
Comme nous avons beaucoup de bases de données assez lourdes qu'il vaut mieux ne pas perdre, nous les plaçons sur la partition /home . De base, l'application Mysql n'a pas accès à se répertoire. Il faut donc l'autorisé via Apparmor en modifiant le fichier de configuration qui concerne mysql.
Le fichier ce trouve ici (pour 13.10) /etc/apparmor.d/usr.sbin.mysqld
Commentez les lignes (le # indique un commentaire)
# /var/lib/mysql/ r,
# /var/lib/mysql/** rwk,
Ajoutez les lignes
/home/mysql/ r,
/home/mysql/** rwk,
Redémarrez ou rechargez Apparmor
sudo service apparmor reload
Normalement tout est rétabli, sinon il va falloir encore chercher sur l'internet mondial.
Comments powered by CComment