Retour : Page Principale > sommaire aide > sommaire aide logiciels
C'est bien mais parfois on a des grosses bases de données et plus d'espace disponible sur /. On peut alors déplacer le dossier de données. Pour ce faire :
Déplacer les données de /var/lib/mysql dans ce dossier :
Modifier /etc/apparmor.d/usr.sbin.mysqld pour donner des droits sur /home/mysql au lieu de /var/lib/mysql
Mysql
Ressources
- Aide pour configurer plrs instances de Mysql sur une mĂŞme machine
- Variables de configuration de Mysql
- Problèmes connus (droits etc.)
- Blocage du serveur (threads qui ne finissent jamais)
Déplacer le dossier de données de Mysql / Mariadb
Le dossier de données (datadir) se trouve par défaut dans /var/lib/mysqlC'est bien mais parfois on a des grosses bases de données et plus d'espace disponible sur /. On peut alors déplacer le dossier de données. Pour ce faire :
0. arrĂŞter le bousin
service mysql stop
1. déplacer les données
Créer un dossier de destination sur une autre partition, par exemple /home, qui appartienne à mysql :mkdir /home/mysql chown mysql:mysql /home/mysql
Déplacer les données de /var/lib/mysql dans ce dossier :
su mysql -s /bin/bash cd /var/lib/mysql cp -r * /home/mysql/ cd .. mv mysql mysql.old #on sait jamais ln -s /home/mysql mysql #Ă tout hasard
2. vérifier les droits
Sur Ubuntu (entre autres), apparmor interdit au démon MySQL d'accéder à ce qu'il veut.Modifier /etc/apparmor.d/usr.sbin.mysqld pour donner des droits sur /home/mysql au lieu de /var/lib/mysql
3. relancer le bousin
service mysql start
Logrotate pour le log des slow queries
# Logrotate script for MySQL slow queries # Source : http://www.mysqlperformanceblog.com/2013/04/18/rotating-mysql-slow-logs-safely/ /var/mysql/slow_query.log { nocompress create 660 mysql mysql size 1G dateext missingok notifempty sharedscripts postrotate /usr/local/bin/mysql -e 'select @@global.long_query_time into @lqt_save; set global long_query_time=2000; select sleep(2); FLUSH LOGS; select sleep(2); set global long_query_time=@lqt_save;' endscript rotate 150 }
# Logrotate script pour MySQL server # Source : http://administratosphere.wordpress.com/2011/12/02/log-rotation-for-mysql/ /var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log { daily rotate 7 missingok create 640 mysql adm compress sharedscripts postrotate test -x /usr/bin/mysqladmin || exit 0 MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/logrotate.cnf" if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then if killall -q -s0 -umysql mysqld; then exit 1 fi else $MYADMIN flush-logs fi endscript }
Pour analyser les slow queries
- Voir aide pt-query-digest