Je essaie de déplacer le répertoire de données de MySQL vers un disque externe sur un odroid (mini-ordinateur de type framboise pi).
Je utilise Ubuntu 14.04.
J'ai changé les chemins dans tous les fichiers de configuration contenant /var/lib/mysql
et déplacé tous les dossiers mysql sur mon nouveau disque.
Le service ne démarre plus et je ne sais pas comment résoudre ce problème.
Voici tous les chemins modifiés :
root@odroid-server:/etc# grep -rnw '/etc' -e "/var/lib/mysql"
root@odroid-server:/etc# grep -rnw '/etc' -e "/media/md0/mysql"
/etc/apparmor.d/abstractions/mysql:12: /media/md0/mysql{,d}/mysql{,d}.sock rw,
/etc/apparmor.d/tunables/alias:16:# alias /media/md0/mysql/ -> /home/mysql/,
/etc/apparmor.d/usr.sbin.mysqld:49: /media/md0/mysql/ r,
/etc/apparmor.d/usr.sbin.mysqld:50: /media/md0/mysql/** rwk,
/etc/apparmor.d/usr.sbin.mysqld:53: /media/md0/mysql-files/ r,
/etc/apparmor.d/usr.sbin.mysqld:54: /media/md0/mysql-files/** rwk,
/etc/apparmor.d/usr.sbin.mysqld:57: /media/md0/mysql-keyring/ r,
/etc/apparmor.d/usr.sbin.mysqld:58: /media/md0/mysql-keyring/** rwk,
/etc/imscp/imscp.conf:37:DATABASE_DIR = /media/md0/mysql
/etc/mysql/mysql.conf.d/mysqld.cnf:36:datadir = /media/md0/mysql
/etc/mysql/mysql.conf.d/mysqld.cnf:92:# InnoDB est activé par défaut avec un fichier de données de 10 Mo dans /media/md0/mysql/.
/etc/mysql/mysql.conf.d/mysqld.cnf:98:# chroot = /media/md0/mysql/
Ensuite, pour démarrer le service :
root@odroid-server:/etc# service mysql start
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
J'ai essayé cette commande pour plus de détails et je peux voir qu'elle utilise toujours l'ancien datadir mysql.
root@odroid-server:/etc# journalctl -xe
Nov 18 13:06:45 odroid-server systemd[1]: Starting MySQL Community Server...
-- Subject: Unit mysql.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- L'unité mysql.service a commencé à démarrer.
Nov 18 13:06:45 odroid-server mysql-systemd-start[24276]: Le répertoire de données MySQL n'a pas été trouvé à /var/lib/mysql. Merci d'en créer un.
Nov 18 13:06:45 odroid-server systemd[1]: mysql.service: Processus de contrôle a quitté, code=exited status=1
Nov 18 13:06:45 odroid-server systemd[1]: Échec de démarrage de MySQL Community Server.
-- Subject: L'unité mysql.service a échoué
-- Défini par : systemd
-- Support : http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- L'unité mysql.service a échoué.
--
-- Le résultat est un échec.
Nov 18 13:06:45 odroid-server systemd[1]: mysql.service: Unité a atteint l'état échoué.
Nov 18 13:06:45 odroid-server systemd[1]: mysql.service: Échec avec le résultat 'exit-code'.
Nov 18 13:06:45 odroid-server systemd[1]: mysql.service: Délai d'attente pour le redémarrage du service écoulé.
Nov 18 13:06:45 odroid-server systemd[1]: MySQL Community Server arrêté.
-- Subject : L'unité mysql.service a terminé son arrêt
-- Défini par : systemd
-- Support : http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- L'unité mysql.service a terminé son arrêt.
Nov 18 13:06:45 odroid-server systemd[1]: mysql.service: La demande de démarrage est trop fréquente.
Nov 18 13:06:45 odroid-server systemd[1]: Échec de démarrage de MySQL Community Server.
-- Subject: L'unité mysql.service a échoué
-- Défini par : systemd
-- Support : http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- L'unité mysql.service a échoué.
--
-- Le résultat est un échec.
Peut-être qu'il y a une commande pour recharger les fichiers de configuration de nouveau en RAM ?
0 votes
Insérez la ligne suivante dans votre fichier
/etc/my.cfg
.log-error=/var/log/mysqld.log
Le répertoire de données est-il possédé par l'utilisateur mysql ?2 votes
Créez un lien symbolique
/var/lib/mysql
vers le nouveau répertoire0 votes
Il suffit de faire ce que @IporSircer a dit. Faire des liens symboliques au lieu de modifier les fichiers de configuration évitera ce genre de problèmes + pas besoin de changer de configuration + pas besoin d'écrire beaucoup de documentation supplémentaire :D
0 votes
Le lien symbolique a en effet fonctionné! je pourrais accepter cela comme une réponse!