MySQL 5.1.x | InnoDB | les fenêtres
Mon répertoire de données mysql commence à se remplir de journaux bin.
J'ai actuellement les paramètres suivants configurés sur mon serveur Windows mysql:
[mysqld]
log-bin
server-id=1
binlog-do-db=foodb1
binlog-do-db=foodb2
expire_logs_days=25
Je prévois de changer le paramètre expire_logs_days en expire_logs_days=10
et faire rebondir le service mysql. Combien de temps après avoir effectué cette modification, puis-je m'attendre à ce que les anciens journaux de bac disparaissent.
Cela se fait-il uniquement dans le cadre d'une tâche planifiée tous les soirs? Ou cela devrait-il être immédiat?
Il sera géré immédiatement au démarrage de mysql.
Vous n'avez pas à attendre un redémarrage de mysql.
Tout d'abord, définissez expire_logs_days
être 10 dans /etc/my.cnf
[mysqld]
log-bin
server-id=1
binlog-do-db=foodb1
binlog-do-db=foodb2
expire_logs_days=10
Ensuite, connectez-vous à mysql et exécutez ceci
PURGE BINARY LOGS BEFORE (date(now()) + interval 0 second - interval 10 day);
Notez la date et l'heure de la requête
mysql> select date(now()) + interval 0 second - interval 10 day;
+---------------------------------------------------+
| date(now()) + interval 0 second - interval 10 day |
+---------------------------------------------------+
| 2012-12-11 00:00:00 |
+---------------------------------------------------+
1 row in set (0.00 sec)
mysql>
Ainsi, la commande PURGE BINARY LOGS supprimera tous les binlogs dont l'horodatage est antérieur à 2012-12-11 00:00:00
.
Enfin, exécutez cette commande
SET GLOBAL expire_logs_days = 10;
C'est ça. Aucun redémarrage nécessaire pour l'installation expire_logs_days .
Quant aux paramètres de réplication, oui un redémarrage est requis.