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