Зміст

Percona MySQL Server 8

Встановлення Percona MySQL Server 8 на Debian 12

Отримуємо репозиторій і встановлюємо його

apt install curl
curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb
apt install gnupg2 lsb-release -y
apt install ./percona-release_latest.generic_all.deb

Встановлюємо сервер

Для версії percona 8.0

percona-release enable-only ps-80 release
apt update
apt install percona-server-server percona-server-client

В процесі встановлення буде запропоновано встановити пароль для користувача root, я на цьому етапі встановлюю пароль також root, після чого його зміню сам.

* Percona Server is distributed with several useful UDF (User Defined Function) from Percona Toolkit. * Run the following commands to create these functions:

      mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'"
      mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'"
      mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'"

* See http://www.percona.com/doc/percona-server/8.0/management/udf_percona_toolkit.html for more details

При необхідності встановлюємо утиліти percona-toolkit

percona-release enable tools release
apt update
apt install percona-toolkit percona-xtrabackup-80 sysbench

Стартуємо сервер MySQL

root@db ~ # service mysql start

Datadir

Якщо є потреба в зміні розміщення каталогу даних на примотований диск, даний абзац допоможе в цьому.

Припустимо, що ми під'єднали додатковий диск та змонтували його в /mysql_data

mkdir -p /mysql_data/data/
mkdir -p /mysql_data/logs/

[mysqld]
datadir                    = /mysql_data/data/
# logs
log_bin                     = /mysql_data/logs/binlog
relay_log                   = /mysql_data/logs/relaylog
relay_log_index             = /mysql_data/logs/relaylog.index
binlog_expire_logs_seconds  = 604800 # 7 days
max_binlog_size             = 100M
relay_log_recovery          = on
master_info_repository      = 'TABLE'
relay_log_info_repository   = 'TABLE'
systemctl stop mysql
rsync -auxHAXSv --chown=mysql:mysql /var/lib/mysql/* /mysql_data/data/
systemctl start mysql

PMM

pmm Server

https://docs.percona.com/percona-monitoring-and-management/setting-up/server/docker.html#run

https://forums.percona.com/t/after-upgrade-pmm2-container-fails-to-start-with-fatal-glibc-error-cpu-does-not-support-x86-64-v2/24059

https://percona.community/blog/2023/01/16/setting-up-pmm-for-monitoring-your-databases-on-windows/

https://forums.percona.com/t/pmm-server-inside-docker-with-host-nginx-proxy-pass-and-client-connection/30989/10

pmm client

percona-release enable pmm2-client release
apt-get update
apt install -y pmm2-client
pmm-admin config --server-insecure-tls --server-url=https://admin:admin@172.16.0.21:8443
mysql -u root -proot
CREATE USER 'pmm'@'127.0.0.1' IDENTIFIED BY 'Pmm_clien210-' WITH MAX_USER_CONNECTIONS 10;
GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON *.* TO 'pmm'@'127.0.0.1';
FLUSH PRIVILEGES;
pmm-admin add mysql --server-insecure-tls --server-url=https://admin:admin@172.16.0.21:8443 --username=pmm --password=Pmm_clien210-