web-dev-qa-db-fra.com

MySQL - Modification d'expire_logs_days sans redémarrer le serveur

J'utilise MySQL 5.5. Est-il possible de changer expire_logs_days et que les modifications prennent effet sans redémarrer le serveur?

8
Ran

merci @dezso

voici comment je l'ai changé: SET GLOBAL expire_logs_days = 4;

10
Ran

Dans MySQL 5.6, vous voudriez montrer ce que votre expire_logs_days est défini en premier. Veuillez ensuite confirmer que le maître n'a pas besoin de garder ces journaux plus que x quantité de jours. Mot de prudence, ayant des grumes binaires que peu en jours peuvent être un risque important.

Définir globalement comme:

 MySQL> Afficher les variables comme 'expire_logs_days'; 
 + ------------------ + ------- + 
 | Nom de variable | Valeur | 
 + ------------------ + ------- + [.____] | expire_logs_days | 5 | [.____] + ------------------- + ------- + 
 1 rangée dans ensemble (0,00 sec) 
[.____] MySQL> SET GLOBAL EXPIRE_LOGS_DAYS = 1; 
 requête OK, 0 rangées touchées (0,62 sec) [.____]
 MySQL> Afficher les variables comme 'expire_logs_days'; 
 + ------------------ + ------- + 
 | Nom de variable | Valeur | 
 + ------------------ + ------- + [.____] | expire_logs_days | 1 | [.____] + ------------------ + ------- + 
 1 rangée en jeu (0,00 sec) 

N'oubliez pas de mettre à jour le fichier my.cnf si vous souhaitez que ce paramètre reste ou survive à un service de redémarrage:

 $ Sudo vim /etc/my.cnf[.____] expire_logs_days = 1 [.____]

Puis rincer le journal actuel et avoir la déclaration de journal binaire à prendre effet sur tous les journaux âgés de plus d'une journée, dans votre cas:

[.____] MySQL> Vider les bûches binaires; [.____]
3
Tony-Caffe

MySQL (Communauté) Version 8.0.17-1.sles12 - OpenSuse Tumbleweed 2019.10.02

mysql> SET GLOBAL expire_logs_days = 4;
ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds
cannot be used together. Please use binlog_expire_logs_seconds to set the expire
time (expire_logs_days is deprecated)

..

1
Dutch Glory