wiki/HowtoMySQL/Percona.md
2023-04-13 17:23:07 +02:00

66 lines
1.9 KiB
Markdown

---
categories: databases
title: Howto Percona
...
Le guide d'installation et d'usage courant, voir [HowtoMySQL](/HowtoMySQL).
La documentation sur [Percona](https://www.percona.com/software/documentation).
## Monitoring d'une réplication
### pt-heartbeat
Dans le paquet `perconal-toolkit` on trouvera un outil pour mesurer la latence dans la réplication d'une meilleure façon que nativement.
L'astuce consiste à insérer une valeur datée de l'heure actuelle (timestamp) sur le master et comparer le timestamp avec la date du slave.
~~~
# mysql -e "CREATE DATABASE percona;"
# mysql -e "GRANT ALL PRIVILEGES ON \`percona\`.* TO 'percona'@'%' IDENTIFIED BY 'password';"
# mysql -e "GRANT REPLICATION CLIENT ON *.* TO 'percona'@'%';"
# adduser --disabled-password percona
# vim /home/percona/.my.cnf
[client]
user = percona
password = password
# chmod 600 /home/percona/.my.cnf
# chown percona: /home/percona/.my.cnf
# pt-heartbeat --defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --update
~~~
Le lancer en démon :
~~~
# pt-heartbeat --defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --update --daemonize
~~~
Le mettre dans une unité systemd `/etc/systemd/system/pt-heartbeat.service` :
~~~
[Unit]
Description=Check slave lag.
After=network.target mysql.service
[Service]
User=percona
ExecStart=/usr/bin/pt-heartbeat --defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --update
Type=simple
Restart=always
[Install]
WantedBy=default.target
~~~
Consulter la latence sur le slave :
~~~
# pt-heartbeat -defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --check
~~~
On pourra ensuite surveiller en temps réel la latence ou écrire un cron de surveillance, voir un check Nagios.
~~~
# pt-heartbeat -defaults-file /home/percona/.my.cnf --create-table --database percona --table heartbeat --monitor
~~~