Percona XtraDB установка, настройка и миграция

Автор:human

Percona XtraDB установка, настройка и миграция

Percona XtraDB установка, настройка и миграция

1.Требования

  • Мимум 3 ноды, так как если отпадет одна нода и подключиться назад 2-я нода заблокируется и будет скидывать реплику на восстановленную ноду, т.е. останется активна только одна нода
  • Только Linux, только хардкор!!
  • Перкона работает только с MySQL InnoDB движком;
  • Перед установкой вам необходимо удалить все существующие пакеты Mysql mysql-client, mysql-server, postfix...
  • Ip адреса node1 10.1.9.162, node2 10.1.9.164, node3 10.1.9.164, node 4 10.1.9.165 Будем использовать 4 ноды.

2 Installation Procedure — процедура установки

Perkona это всего лишь модифицированная Mysql для возможности мультимастер репликации.

Итак, приступим к установке. Кстати, официальная документация по установке на debian системы на оф.сайте. Заранее убедитесь что у Вас не установлено никаких пакетов mysql в системе:

2.1.Установка percona 5.6 на debian 8 jessie

Во время устаноки устанавливаем пароли для Mysql

3. Настройка НОД

Открываем порты на всех нодах. Для этого я устанавливаю пакет.

Проверяем наличие пакета NTP для того, чтобы время на серверах было синхронно настроено
apt-get install ntp -y
Добавляем строку server ntp.mobatime.ru

3.1 Настройка ноды 1(стартовой)

Подправим конфиг /etc/mysql/my.cnf

Мой конфиг на нагруженную систему. Обратите внимание ври первом запуске первой ноды список всех нод с параметром

пустой. Это нужно для инициализации кластера. Данное значение

мы поменяем на

после запуска других нод кластера и сделаем

ЭТО ОЧЕНЬ ВАЖНО!!!
Итак просмотрим весь конфиг.

Создадим каталог для mysql — логов,bin и др(так как это у нас указано в конфиге).

Создадим пользователя и дадим ему пароль(в mysql ), назначим права;

или так

Идем далее. Добавим экстра функции

Так же необходимо отключить скрипт автозапуска проверки таблиц в debian(НА ВСЕХ НОДАХ)

touch /etc/mysql/NODEBIANSTART

 

3.2 Нода 2

Редактируем /etc/mysql/my.cnf. Он очень похож на первый, различия в том, что

указан сразу с адресами всех нод!!! и в параметре

указан ip нашей 2-ой ноды. В параметре

xtradb будет 2, так как это наша вторая нода. В других нодах параметры меняем аналогичным образом(wsrep_node_address=равен ip ноды,wsrep_node_name=xtradb- равен порядковуму номеру ноды)

Сейв.

Так же создадим каталог для mysql — логов,bin и др(так как это у нас указано в конфиге).

5.3 Percona Database Configuration

These steps configure the database section of the gerrit config file and must be followed once you have completed the installation of the Percona XtraDB cluster with Gerrit.

Procedure

When installing Gerrit with Percona XTRADB using an ‘n-nodes’ configuration, you need to:

  1. Create the reviewdb database only on one node (the other nodes will replicate this).
  2. Install vanilla gerrit on that node or on a node that connects to that database node.
  3. Proceed with the standard installation of GerritMS.
  4. Usually in a GerritMS-Percona configuration, each Gerrit node connects to an individual Percona XtraDB node, sitting maybe on the same host as Gerrit. So in the gerrit.config property file, in the dabase section, you will find localhost as the hostname to connect to.
  5. Then, if you want, you can maximise the database access speed from Gerrit to Percona XtraDB by using connection pooling. For this you need to:
    • edit the etc/gerrit.config file and
    • add or replace this piece of configuration in the database section:

      Depending on the load of the machine you can raise or lower the poolLimit or the poolMinIdle properties. Just keep in mind that, since, as usual, the default max number of connections for a MySQL server database is 151, you need to raise that number if you need to set the poolLimit to a value close or higher than 150. If you need to raise the max number of connection to MySQL (Percona) server, the you have to modify the my.cnf file and add something like:
  6. The last step is to modify the Git MultiSite configuration file (/opt/wandisco/git-multisite/replicator/properties/application.properties) for each node that will access a local master Percona database. Replace the following properties, or add them to the bottom of the file:

Note: Since Percona XtraDB cluster is based on MySQL server, the configuration is the same as the one for MySQL server.

5.4 Миграция с Mysql на Percona XtraDB

Требования

  • Нам надо будет создать дамп базы данных с помощью утилиты mysqldump
  • Вам надо учесть один момент, если ваша база данных не и использует InnoDB, то вам вначале необходимо выполнить еще один шаг, который трансформирует вашу базу данных из «ENGINE=MyISAM»‘ в  «ENGINE=InnoDB».

Процедура миграции

  1.  Делаем дамп базы данных:
  2.  Если вам необходимо модифицировать дамп базы данных, то сделайте backup до этого.
  3.  Установите и настройте Percona XtraDb(до этого удалив mysql)
    • Импортируйте старую базу данных на наш кластер Percona XtraDB
    •  На другие ноды автоматически произойдет репликация, и вам не надо будет производить процедуру импорта на каждую из них.

6. Решение проблем PERCONA CLUSTER:

Проблема1 WSREP_SST: [INFO] Waiting for SST streaming to complete! При подключении ноды донора и старте mysql

Решение. Удаляем папку с .sst —

sudo rm -r /var/lib/mysql/.sst

sudo /etc/init.d/mysql start

P.S. Может понадоиться повторный запуск, пока нода реплика не догонит донора.

Проблема2  MySQL PID not found, pid_file detected/guessed: /var/run/mysqld/mysqld.pid

Решение Создаем Pid файл и даем ему права mysql

touch /var/run/mysqld/mysqld.pid && chown mysql:mysql /var/run/mysqld/mysqld.pid

sudo /etc/init.d/mysql star

Проблема3 WSREP: SST failed: 1 (Operation not permitted)

Решение. Я решил данную проблему переустановкой percona cluster и

Первое. Я изменил в конфиге следующие строки:

Затем сделал старт.
Подождал пока запустится.
Затем вернул всё обратно и подождал пока нода догонит реплики(надо время). Всё — можно пользовать.

Оф доки Percona по миграции https://www.percona.com/doc/percona-server/5.6/upgrading_guide_55_56.html

Как ускорить импорт данных

Установка и настройка proxysql — балансировщика записи-чтения для percona xtradb cluster

Запуск proxysql

/usr/bin/proxysql-admin —proxysql-user=root —proxysql-password=GtnhCnjksgbyVbybcnh —proxysql-port=6032 —proxysql-host=10.1.9.205 —cluster-user=sstuser —cluster-password=Cbrt205 —cluster-port=3306 —cluster-host=10.1.9.205 —galera-check-interval=1000 —enable —mode=’loadbal’ —adduser

Об авторе

human administrator

    Оставить ответ

    Войти с помощью: 

     

    Яндекс.Метрика