Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
utilisateurs:grigouille:brouillons:deplacer_mysql [Le 12/01/2017, 22:09] grigouille reload apparmor |
utilisateurs:grigouille:brouillons:deplacer_mysql [Le 20/01/2017, 21:07] grigouille plus général pour my.cnf |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf | /etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf | ||
</code> | </code> | ||
- | Par défaut, il s'agit du fichier ''/etc/mysql/my.cnf'' : | + | Éventuellement ce fichier contient des directives **!includedir**. Il faut alors chercher dans ces répertoires le fichier qui contient **datadir**. |
- | <code>$ tail /etc/mysql/my.cnf | + | |
- | # For explanations see | + | |
- | # http://dev.mysql.com/doc/mysql/en/server-system-variables.html | + | |
- | # | + | Dans la suite, nous allons déplacer les données dans **/home/mysql**. |
- | # * IMPORTANT: Additional settings that can override those from this file! | + | |
- | # The files must end with '.cnf', otherwise they'll be ignored. | + | |
- | # | + | |
- | + | ||
- | !includedir /etc/mysql/conf.d/ | + | |
- | !includedir /etc/mysql/mysql.conf.d/ | + | |
- | </code><code> | + | |
- | $ grep datadir /etc/mysql/mysql.conf.d/*.cnf | + | |
- | /etc/mysql/mysql.conf.d/mysqld.cnf:datadir = /var/lib/mysql | + | |
- | </code> | + | |
- | Donc par défaut, les données sont dans **/var/lib/mysql**. | + | |
- | On va mettre les données dans **/home/mysql**. | + | |
Tout d'abord on arrête le service : | Tout d'abord on arrête le service : | ||
<code>$ sudo service mysql stop</code> | <code>$ sudo service mysql stop</code> | ||
- | On modifie **datadir** avec le nouvel emplacement dans le fichier **/etc/mysql/mysql.conf.d/mysqld.cnf** : | + | [[:tutoriel:comment_modifier_un_fichier|On édite le fichier]] qui contient **datadir** : |
<code> | <code> | ||
- | $ grep datadir /etc/mysql/mysql.conf.d/*.cnf | + | datadir = /home/mysql |
- | /etc/mysql/mysql.conf.d/mysqld.cnf:datadir = /home/mysql | + | |
</code> | </code> | ||
+ | On suppose que l'ancienne valeur de **datadir** était **/var/lib/mysql**. | ||
On déplace les données : | On déplace les données : | ||
- | <code>$ sudo mv /var/lib/mysql /home/mysql</code> | + | <code>$ sudo mv /var/lib/mysql /home</code> |
Malheureusement cela ne suffit pas. | Malheureusement cela ne suffit pas. | ||
Ligne 58: | Ligne 43: | ||
</code> | </code> | ||
- | Il faut donc créer le répertoire **/var/lib/mysql/mysql** : | + | Il faut donc créer le répertoire **/var/lib/mysql/mysql** avec les bons droits : |
<code>$ sudo mkdir -p /var/lib/mysql/mysql | <code>$ sudo mkdir -p /var/lib/mysql/mysql | ||
$ sudo chown -R mysql:mysql /var/lib/mysql | $ sudo chown -R mysql:mysql /var/lib/mysql | ||
- | $ sudo chmod 700 /var/lib/mysql | + | $ sudo chmod -R 700 /var/lib/mysql</code> |
- | $ sudo chmod 750 /var/lib/mysql/mysql</code> | + | |
Il faut maintenant configurer [[:apparmor|AppArmor]]. D'après ce qui suit, nous devons modifier le fichier ''local/usr.sbin.mysqld'' : | Il faut maintenant configurer [[:apparmor|AppArmor]]. D'après ce qui suit, nous devons modifier le fichier ''local/usr.sbin.mysqld'' : | ||
Ligne 70: | Ligne 54: | ||
#include <local/usr.sbin.mysqld> | #include <local/usr.sbin.mysqld> | ||
</code> | </code> | ||
- | Modifions donc le fichier ''/etc/apparmor.d/local/usr.sbin.mysqld'' : | + | [[:tutoriel:comment_modifier_un_fichier|Modifier le fichier]] ''/etc/apparmor.d/local/usr.sbin.mysqld'' en ajoutant : |
- | <code>$ cat /etc/apparmor.d/local/usr.sbin.mysqld | + | <code> |
- | # Site-specific additions and overrides for usr.sbin.mysqld. | + | |
- | # For more details, please see /etc/apparmor.d/local/README. | + | |
# Allow data dir access | # Allow data dir access | ||
/home/mysql/ r, | /home/mysql/ r, |