Розбіжності
Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія Наступна ревізія | Попередня ревізія | ||
debian:pxcluster [14/09/2023 14:56] – Method | debian:pxcluster [29/09/2023 08:24] (поточний) – [pmm Server] Method | ||
---|---|---|---|
Рядок 3: | Рядок 3: | ||
===== Підготовка Осі ===== | ===== Підготовка Осі ===== | ||
- | apt update | + | |
- | apt install -y wget gnupg2 curl lsb-release | + | apt install -y wget gnupg2 curl lsb-release |
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ^ port ^ protocol | ||
+ | | 3306 | tcp | MySQL client connection and SST (State Snapshot Transfer) | ||
+ | | 4444 | tcp | SST via Percona XtraBackup | ||
+ | | 4567 | tcp / udp | write-set replication traffic (over TCP) and multicast replication (over TCP and UDP) | | ||
+ | | 4568 | tcp | IST (Incremental State Transfer) | ||
==== Встановлення кластера ==== | ==== Встановлення кластера ==== | ||
=== Отримуємо репозиторій і встановлюємо його === | === Отримуємо репозиторій і встановлюємо його === | ||
- | wget https:// | + | |
- | dpkg -i percona-release_latest.generic_all.deb | + | dpkg -i percona-release_latest.generic_all.deb |
=== Встановлюємо кластер === | === Встановлюємо кластер === | ||
+ | |||
+ | Для версії percona cluster 8.0 | ||
<code bash> | <code bash> | ||
percona-release disable all | percona-release disable all | ||
- | # percona cluster 57 | ||
- | percona-release enable pxc-57 | ||
- | percona-release enable pxb-24 testing | ||
- | apt-get update | ||
- | apt install percona-xtradb-cluster-57 | ||
- | |||
- | # percona cluster 80 | ||
percona-release setup pxc80 | percona-release setup pxc80 | ||
apt install percona-xtradb-cluster | apt install percona-xtradb-cluster | ||
</ | </ | ||
+ | |||
+ | В процесі встановлення буде запропоновано встановити пароль для користувача root, я на цьому етапі встановлюю пароль також root, після чого його зміню сам. | ||
+ | |||
=== При необхідності встановлюємо утиліти percona-toolkit === | === При необхідності встановлюємо утиліти percona-toolkit === | ||
Рядок 45: | Рядок 58: | ||
Є два сервери, | Є два сервери, | ||
^ Node ^ Host ^ IP ^ | ^ Node ^ Host ^ IP ^ | ||
- | |Node 1 | db4 | 192.168.0.220 | | + | |Node 1 | db6 | 172.16.0.56 | |
- | |Node 2 | DB5 | 192.168.0.221 | | + | |Node 2 | db7 | 172.16.0.57 | |
====Створюємо конфіг першої ноди==== | ====Створюємо конфіг першої ноди==== | ||
<code bash> | <code bash> | ||
- | mkdir /etc/mysql/ | + | nano / |
- | nano /etc/mysql/ | + | |
</ | </ | ||
У файл додаємо наступний вміст: | У файл додаємо наступний вміст: | ||
<code bash> | <code bash> | ||
[mysqld] | [mysqld] | ||
- | wsrep_provider=/ | + | datadir=/ |
+ | user=mysql | ||
+ | |||
+ | # Path to Galera library | ||
+ | wsrep_provider=/ | ||
+ | |||
+ | # Cluster name | ||
wsrep_cluster_name=pxc-cluster | wsrep_cluster_name=pxc-cluster | ||
- | wsrep_cluster_address=gcomm:// | + | |
- | wsrep_node_name=db4 | + | # Cluster connection URL contains the IPs of nodes |
- | wsrep_node_address=192.168.0.220 | + | wsrep_cluster_address=gcomm:// |
- | wsrep_sst_method=xtrabackup-v2 | + | |
- | wsrep_sst_auth=sstuser: | + | # Node IP address |
- | pxc_strict_mode=ENFORCING | + | wsrep_node_address=172.16.0.56 |
+ | |||
+ | #If wsrep_node_name is not specified, | ||
+ | wsrep_node_name=pxc-node-1 | ||
+ | |||
+ | # In order for Galera to work correctly binlog format should be ROW | ||
binlog_format=ROW | binlog_format=ROW | ||
+ | |||
+ | # Using the MyISAM storage engine is not recommended. | ||
default_storage_engine=InnoDB | default_storage_engine=InnoDB | ||
+ | |||
+ | # This InnoDB autoincrement locking mode is a requirement for Galera | ||
innodb_autoinc_lock_mode=2 | innodb_autoinc_lock_mode=2 | ||
+ | |||
+ | # Applier thread to use | ||
+ | wsrep_applier_threads=8 | ||
+ | |||
+ | wsrep_log_conflicts | ||
+ | |||
+ | # SST method | ||
+ | wsrep_sst_method=xtrabackup-v2 | ||
+ | |||
+ | |||
+ | # | ||
+ | pxc_strict_mode=ENFORCING | ||
+ | |||
+ | # IST method | ||
+ | # | ||
</ | </ | ||
<code bash> | <code bash> | ||
- | # Підключаємо конфіг у MySQL | ||
- | echo ' | ||
# | # | ||
mysql -u root -p | mysql -u root -p | ||
Рядок 171: | Рядок 211: | ||
У конфізі виправляємо два параметри - **IP** та **ім' | У конфізі виправляємо два параметри - **IP** та **ім' | ||
wsrep_node_name=db5 | wsrep_node_name=db5 | ||
- | wsrep_node_address=192.168.0.221 | + | wsrep_node_address=172.16.0.57 |
Стартуємо сервер MySQL | Стартуємо сервер MySQL | ||
Рядок 216: | Рядок 256: | ||
Аналогічно можна додати ще одну або кілька нод percona за потреби. | Аналогічно можна додати ще одну або кілька нод percona за потреби. | ||
- | ==== Приклад конфігу / | ||
- | <code bash> | + | |
- | [mysqld] | + | ===== PMM ===== |
- | wsrep_provider=/usr/lib/galera3/libgalera_smm.so | + | ==== pmm Server ==== |
- | wsrep_cluster_address=gcomm://149.202.225.167,149.202.225.163 | + | [[https:// |
- | binlog_format=ROW | + | |
- | default_storage_engine=InnoDB | + | [[https://docs.percona.com/percona-monitoring-and-management/setting-up/ |
- | wsrep_slave_threads=8 | + | |
- | wsrep_log_conflicts | + | |
- | innodb_autoinc_lock_mode=2 | + | ==== pmm client ==== |
- | wsrep_node_address=149.202.XXX.XXX | + | lsb_release -sc |
- | wsrep_cluster_name=pxc-cluster | + | |
- | wsrep_node_name=pxc-cluster-node-1 | + | No LSB modules are available. |
- | pxc_strict_mode=ENFORCING | + | bookworm |
- | wsrep_sst_method=xtrabackup-v2 | + | bookworm тобто Debian 12, на момент написання статті не мав окремого репозиторію, |
- | wsrep_sst_auth=sstuser:Passw0rd | + | |
- | </code> | + | |
+ | nano /etc/apt/sources.list.d/ | ||
+ | |||
+ | deb http://repo.percona.com/ | ||
+ | deb-src http://repo.percona.com/ | ||
+ | |||
+ | | ||
+ | |||
+ | apt install -y pmm2-client | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | |||
+ | CREATE USER ' | ||
+ | GRANT SELECT, PROCESS, REPLICATION CLIENT, RELOAD, BACKUP_ADMIN ON *.* TO ' | ||
+ | FLUSH Previlegios; | ||
+ | |||
+ | pmm-admin add mysql --username=pmm --password=pass --server-url=https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |