Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| utilisateurs:grigouille:brouillons:deplacer_mysql [Le 11/01/2017, 19:40] – créée grigouille | utilisateurs:grigouille:brouillons:deplacer_mysql [Le 20/01/2017, 21:07] (Version actuelle) – plus général pour my.cnf grigouille | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ==== Déplacer ses bases de données MySQL ==== | ==== Déplacer ses bases de données MySQL ==== | ||
| + | L' | ||
| + | Toutefois, il peut exister plusieurs fichiers '' | ||
| + | < | ||
| + | $ mysqld --verbose --help | head -n13 | tail -n2 | ||
| + | Default options are read from the following files in the given order: | ||
| + | /etc/my.cnf / | ||
| + | </ | ||
| + | Éventuellement ce fichier contient des directives **!includedir**. Il faut alors chercher dans ces répertoires le fichier qui contient **datadir**. | ||
| - | === Préambule === | + | Dans la suite, nous allons déplacer |
| - | Avant de vous lancer voir la discussion ici [[http:// | + | |
| - | en particulier: | + | |
| - | < | + | |
| - | D' | + | |
| - | L' | + | |
| - | Si l'on a vraiment cette crainte, on ne touche pas au fichier my.cnf et on utilise le dossier conf.d qui est prévu pour y placer ses propres configurations. | + | |
| - | </ | + | |
| - | < | + | |
| - | Ensuite c'est en contradiction avec la manipulation suivante qui fait modifier directement / | + | |
| - | **'' | + | |
| - | #include < | + | |
| - | </ | + | |
| - | La plupart des utilisateurs créent de 2 à 3 partitions sur leur(s) installation(s) : | + | |
| - | * / - une partition système | + | |
| - | * swap - une partition de de //swap// | + | |
| - | * /home - une partition réservée aux utilisateurs | + | |
| - | L'intérêt de ce partitionnement est qu'en cas de réinstallation, | + | Tout d'abord on arrête |
| + | < | ||
| + | [[: | ||
| + | < | ||
| + | datadir = | ||
| + | </ | ||
| + | On suppose que l' | ||
| + | On déplace les données : | ||
| + | < | ||
| - | Il peut donc être intéressant pour cela de déplacer ses bases de données dans la partition | + | Malheureusement |
| + | Le premier problème vient du fichier'' | ||
| + | < | ||
| + | $ head / | ||
| + | sanity () { | ||
| + | if [ ! -r / | ||
| + | echo "MySQL configuration not found at / | ||
| + | exit 1 | ||
| + | fi | ||
| - | Remarque importante : Il y a deux méthodes pour changer le dossier des données, soit par lien symbolique comme décrit ci-après, soit en modifiant le fichier de configuration my.cnf. Toutefois si les utilitaires de MySQL comme mysqldump sont utilisés, il faut préférer la méthode de modification du my.cnf, car les liens symboliques ne semblent pas pris en compte par ces utilitaires. | + | if [ ! -d / |
| + | echo "MySQL data dir not found at / | ||
| + | exit 1 | ||
| + | fi | ||
| + | if [ ! -d / | ||
| + | echo "MySQL system database not found. Please run mysql_install_db tool." | ||
| + | exit 1 | ||
| + | fi | ||
| + | } | ||
| + | </ | ||
| - | === Mise en place === | + | Il faut donc créer le répertoire **/ |
| + | < | ||
| + | $ sudo chown -R mysql:mysql / | ||
| + | $ sudo chmod -R 700 / | ||
| - | Arrêter MySQL : | + | Il faut maintenant configurer [[:apparmor|AppArmor]]. D' |
| - | + | < | |
| - | sudo service mysql stop | + | $ tail /etc/apparmor.d/usr.sbin.mysqld -n3 |
| - | + | | |
| - | Déplacer | + | |
| - | + | </ | |
| - | sudo mv /var/ | + | [[: |
| - | + | <code> | |
| - | Le déplacement par 'mv' | + | # Allow data dir access |
| - | + | ||
| - | Créer un lien symbolique afin de ne pas "//casser//" les fichiers de configuration originel de MySQL : | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | S' | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | Pour les versions d' | + | |
| - | + | ||
| - | [[: | + | |
| - | + | ||
| - | <file> | + | |
| - | / | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | et de les modifier en : | + | |
| - | + | ||
| - | < | + | |
| / | / | ||
| / | / | ||
| - | </file> | + | </code> |
| - | + | Rechargez | |
| - | On relance la configuration d' | + | < |
| - | + | Redémarrez le service | |
| - | | + | < |
| - | + | Vérifiez le changement : | |
| - | On relance MySql : | + | < |
| - | + | $ mysql -u root -p -e ' | |
| - | | + | Enter password: |
| - | + | +--------------+ | |
| - | Et voilà. | + | | @@datadir |
| + | +--------------+ | ||
| + | | / | ||
| + | +--------------+ | ||
| + | </ | ||
