Maison > base de données > tutoriel mysql > le corps du texte

MHA nettoie le journal des relais (purge_relay_logs)

黄舟
Libérer: 2017-02-15 10:37:36
original
2792 Les gens l'ont consulté



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/*)
Copier après la connexion



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
Copier après la connexion


# ##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)
Copier après la connexion

    

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
Copier après la connexion



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) !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!