wiki:technical:percona
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| wiki:technical:percona [2022/08/24 15:10] – [Пример конфига /etc/mysql/percona-xtradb-cluster.conf.d/wsrep.cnf] Diman | wiki:technical:percona [2023/05/23 23:32] (текущий) – [Генерация сертификатов] Diman | ||
|---|---|---|---|
| Строка 12: | Строка 12: | ||
| === Устанавливаем кластер === | === Устанавливаем кластер === | ||
| - | percona-release disable all | + | <code bash> |
| - | percona-release enable pxc-57 testing | + | percona-release disable all |
| - | percona-release enable pxb-24 testing | + | # percona cluster 57 |
| - | apt-get update | + | percona-release enable pxc-57 testing |
| - | apt install percona-xtradb-cluster-57 | + | percona-release enable pxb-24 testing |
| + | apt-get update | ||
| + | apt install percona-xtradb-cluster-57 | ||
| + | # percona cluster 80 | ||
| + | percona-release setup pxc80 | ||
| + | apt install percona-xtradb-cluster | ||
| + | </ | ||
| === При необходимости устанавливаем утилиты percona-toolkit === | === При необходимости устанавливаем утилиты percona-toolkit === | ||
| - | percona-release enable tools release | + | <code bash> |
| - | apt update | + | percona-release enable tools release |
| - | apt install percona-toolkit | + | apt update |
| + | apt install percona-toolkit | ||
| + | </ | ||
| + | |||
| + | === После установки останавливаем mysql === | ||
| + | <code bash> | ||
| + | # После установки останавливаем mysql | ||
| + | service mysql stop | ||
| + | </ | ||
| + | |||
| + | |||
| ==== Конфигурируем кластер ==== | ==== Конфигурируем кластер ==== | ||
| Строка 31: | Строка 48: | ||
| ====Создаем конфиг первой ноды==== | ====Создаем конфиг первой ноды==== | ||
| - | mkdir / | + | <code bash> |
| - | nano / | + | mkdir /etc/mysql/ |
| + | nano /etc/mysql/ | ||
| + | </ | ||
| В файл добавляем следующее содержимое: | В файл добавляем следующее содержимое: | ||
| - | [mysqld] | + | <code bash> |
| - | wsrep_provider=/ | + | [mysqld] |
| - | wsrep_cluster_name=pxc-cluster | + | wsrep_provider=/ |
| - | wsrep_cluster_address=gcomm:// | + | wsrep_cluster_name=pxc-cluster |
| - | wsrep_node_name=db4 | + | wsrep_cluster_address=gcomm:// |
| - | wsrep_node_address=192.168.0.220 | + | wsrep_node_name=db4 |
| - | wsrep_sst_method=xtrabackup-v2 | + | wsrep_node_address=192.168.0.220 |
| - | wsrep_sst_auth=sstuser: | + | wsrep_sst_method=xtrabackup-v2 |
| - | pxc_strict_mode=ENFORCING | + | wsrep_sst_auth=sstuser: |
| - | binlog_format=ROW | + | pxc_strict_mode=ENFORCING |
| - | default_storage_engine=InnoDB | + | binlog_format=ROW |
| - | innodb_autoinc_lock_mode=2 | + | default_storage_engine=InnoDB |
| - | Подключаем конфиг в MySQL | + | innodb_autoinc_lock_mode=2 |
| - | echo "!includedir / | + | </ |
| - | Конфигурируем пользователя для синка данных между БД | + | |
| - | mysql -u root -p | + | <code bash> |
| + | # Подключаем конфиг в MySQL | ||
| + | echo '!includedir / | ||
| + | #Конфигурируем пользователя для синка данных между БД | ||
| + | mysql -u root -p | ||
| + | |||
| + | </ | ||
| ====Добавляем пользователя MySQL==== | ====Добавляем пользователя MySQL==== | ||
| - | CREATE USER ' | ||
| - | GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO ' | ||
| - | FLUSH PRIVILEGES; | ||
| Останавливаем MySQL | Останавливаем MySQL | ||
| - | service mysql stop | + | service mysql stop |
| Bootstrat-им ноду | Bootstrat-им ноду | ||
| + | <code bash> | ||
| + | # В этот момент текущая нода определяет переменную wsrep_cluster_conf_id в 1 | ||
| + | systemctl start mysql@bootstrap.service | ||
| + | # Подключаемся в mysql и добавляем пользователя с паролем | ||
| + | mysql -p | ||
| + | </ | ||
| + | |||
| + | <code mysql> | ||
| + | CREATE USER ' | ||
| + | GRANT RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO ' | ||
| + | FLUSH PRIVILEGES; | ||
| + | </ | ||
| + | ==== Генерация сертификатов ==== | ||
| + | |||
| + | <code bash> | ||
| + | # Генерация сертификатов | ||
| + | mkdir / | ||
| + | |||
| + | # Generate CA key and certificate | ||
| + | # Generate the CA key file: | ||
| + | openssl genrsa 2048 > ca-key.pem | ||
| + | # Generate the CA certificate file: | ||
| + | openssl req -new -x509 -nodes -days 9999 -key ca-key.pem -out ca.pem | ||
| + | |||
| + | # Generate server key and certificate | ||
| + | # Generate the server key file: | ||
| + | openssl req -newkey rsa:2048 -days 9999 -nodes -keyout server-key.pem -out server-req.pem | ||
| + | # Remove the passphrase: | ||
| + | openssl rsa -in server-key.pem -out server-key.pem | ||
| + | # Generate the server certificate file: | ||
| + | openssl x509 -req -in server-req.pem -days 9999 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem | ||
| + | |||
| + | # Generate client key and certificate | ||
| + | # Generate the client key file: | ||
| + | openssl req -newkey rsa:2048 -days 9999 -nodes -keyout client-key.pem -out client-req.pem | ||
| + | # Remove the passphrase: | ||
| + | openssl rsa -in client-key.pem -out client-key.pem | ||
| + | # Generate the client certificate file: | ||
| + | openssl x509 -req -in client-req.pem -days 9999 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| root@db4 ~ # / | root@db4 ~ # / | ||
| Bootstrapping Percona XtraDB Cluster database server: mysqld .. | Bootstrapping Percona XtraDB Cluster database server: mysqld .. | ||
wiki/technical/percona.1661343021.txt.gz · Последнее изменение: — Diman
