Réplication maître-esclave de la base de données MySQL Par défaut, les journaux de relais de la base de données esclave seront automatiquement supprimés après l'exécution du thread SQL. Cependant, dans le scénario MHA, pour. quelques décalages La récupération depuis la bibliothèque esclave dépend des journaux de relais des autres bibliothèques esclaves, donc la fonction de suppression automatique est désactivée et nettoyée régulièrement. Lorsque vous nettoyez trop de journaux de relais trop volumineux, vous devez faire attention à la surcharge de ressources causée par les retards de réplication, etc. MHA peut effectuer cette tâche via le script purge_relay_logs et la coopération avec cronjob. La description spécifique est la suivante.
1. Fonction des purge_relay_logs
a、为relay日志创建硬链接(最小化批量删除大文件导致的性能问题) b、SET GLOBAL relay_log_purge=1; FLUSH LOGS; SET GLOBAL relay_log_purge=0; c、删除relay log(rm –f /path/to/archive_dir/*)
2. Utilisation et paramètres associés de purge_relay_logs
###Utilisation
# purge_relay_logs --help Usage: purge_relay_logs --user=root --password=rootpass --host=127.0.0.1
# ##Description du paramètre
--user mysql 用户名,缺省为root --password mysql 密码 --port 端口号 --host 主机名,缺省为127.0.0.1 --workdir 指定创建relay log的硬链接的位置,默认是/var/tmp,成功执行脚本后,硬链接的中继日志文件被删除 由于系统不同分区创建硬链接文件会失败,故需要执行硬链接具体位置,建议指定为relay log相同的分区 --disable_relay_log_purge 默认情况下,参数relay_log_purge=1,脚本不做任何处理,自动退出 设定该参数,脚本会将relay_log_purge设置为0,当清理relay log之后,最后将参数设置为OFF(0)
3. Nettoyage personnalisé cronjob du journal de relais >
4. Exemple de nettoyage manuel
pureg_relay_logs脚本在不阻塞SQL线程的情况下自动清理relay log。对于不断产生的relay log直接将该脚本部署到crontab以实现按天或按小时定期清理。 $ crontab -l # purge relay logs at 5am 0 5 * * * /usr/bin/purge_relay_logs --user=root --password=PASSWORD --disable_relay_log_purge >> /var/log/masterha/purge_relay_logs.log 2>&1 更正,移除多余字符app @20150515
Ce qui précède est-ce que MHA nettoie le contenu du journal de relais (purge_relay_logs). Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !