ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить MySQL Cluster на Ubuntu 16.04

Как установить MySQL Cluster на Ubuntu 16.04

На этой странице

  1. Шаг 1 – Установка и настройка узла управления
  2. Шаг 2 – Установка и настройка узла данных
  3. Шаг 3 – Установка и настройка SQL Node
  4. Шаг 4 – Тестирование
  5. Шаг 5 – Дополнительные советы
  6. Справка

MySQL Cluster представляет собой технологию для обеспечения высокой доступности для баз данных MySQL. Он использует NDB (Network DataBase) или NDB кластер в качестве двигателя для хранения базы данных. MySQL Cluster разработан как мульти-мастер ACID архитектуры без единой точки отказа, он использует автоматический шардинг (секционирование) для масштабирования чтения и записи процессов.

Для реализации кластера MySQL, нам нужно 3 различных типов узлов:

На этом уроке мы покажем вам, как установить “MySQL Cluster” на Ubuntu 16.04 LTS (Xenial Xerus).

Предпосылки

  1. 192.168.2.21 – управление узлами
  2. 192.168.2.22 – узел данных
  3. 192.168.2.23 – узел данных
  4. 192.168.2.24 – SQL-узел

Шаг 1 – Установка и настройка узла управления

На этом шаге мы установим узел управления для нашего кластера с IP адресом 192.168.2.21. Мы устанавливаем программное обеспечение кластера MySQL и настроем его в качестве узла управления для кластера.

Войти на узел управления с SSH:

ssh root@192.168.2.21
TYPE YOUR PASSWORD

 

A. Установка управление узла кластера MySQL

Откроем сайт кластера MySQL здесь и выберем опцию ” Linux-generic” и загрузим 64-битный пакет, нажав кнопку ” Download“.

Загрузим пакет кластера MySQL с помощью wget и извлечем его.

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz

 

Переименуем директорию для MySQL:

mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

 

Перейдем в каталог mysql и скопируем 2 двоичных файла для команды управления кластером ” ndb_mgmd и ndb_mgm ‘к директории ‘/usr/local/bin/’, а затем сделаем их исполняемым с помощью команды chmod.

cd ~/mysql/
cp bin/ndb_mgm* /usr/local/bin/
chmod +x /usr/local/bin/ndb_mgm*

 

B. Настройка MySQL Cluster Node Management

Настройте узел управления путем создания нового каталога ‘MySQL-cluster” для конфигурационных файлов в каталоге ‘/var/lib/’.

Создание каталог ‘MySQL-cluster” и создайте новую конфигурацию “config.ini” в каталоге:

mkdir -p /var/lib/mysql-cluster/
vim /var/lib/mysql-cluster/config.ini

 

Вставьте ниже конфигурацию:

[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
 
[mysqld default]
 
[ndb_mgmd default]
 
[tcp default]
 
# Управления кластера / узле управления
[ndb_mgmd]
hostname=192.168.2.21
 
# Узел данных 1
[ndbd]
hostname=192.168.2.22
DataDir= /var/lib/mysql-cluster
 
# Узел данных 1
[ndbd]
HostName=192.168.2.23
DataDir=/var/lib/mysql-cluster
 
# Узел SQL
[mysqld]
hostname=192.168.2.24
 
# Если вы хотите добавить новый узел SQL
[mysqld]

 

Изменение IP-адреса ndb_mgmd для управления, NDBD для узла данных и mysqld для узла SQL, чтобы соответствовать вашим настройкам.

Сохраните файл и выйдите.

Затем запустите процесс узла управления с командой ниже:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

 

Запускаться будет во время загрузки, добавив команду ‘/etc/rc.local ‘:

echo 'ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/' >> /etc/rc.local

 

Вы увидите результат:

MySQL Cluster Management Server MySQL-5.6.31 NDB-7.4.12

Проверьте узел управления с помощью следующей команды:

# Checking port 1186 used by ndb_mgmd
netstat -plntu 

# Проверка узла управления готов
ndb_mgm
show

 

был запущен MySQL узел управления кластера.

Шаг 2 – Установка и настройка узла данных

На этом шаге мы установим программное обеспечение кластера MySQL и настроем его в качестве узла данных. Мы будем использовать 2 сервера Ubuntu 16.04 в качестве узлов данных: узел с IP-адресом 192.168.2.22 и узел данных с IP-адреса 192.168.2.23.

Войдите на первый сервер данных с помощью SSH:

ssh root@192.168.2.22

 

A. Установите MySQL Cluster на узле

Перед тем , как установить программное обеспечение кластера MySQL, мы должны установить новый пакет ‘ libaio1‘ и создадим нового пользователя и группу MySQL. Выполните команду ниже в качестве root:

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

 

Теперь загрузите пакет кластера MySQL ‘Linux-Generic ‘, разархивируйте и переименуйте каталог в MySQL.

wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

 

Переместите каталог ‘MySQL’ в ‘/usr/local/’ и перейдите в этот каталог.

mv mysql /usr/local/
cd /usr/local/mysql/

 

Запустите скрипт для создания системных баз данных:

./scripts/mysql_install_db --user=mysql

 

Если нет ошибок, скопируйте файл службы MySQL в каталог ‘/etc/init.d‘ и добавьте MySQL сценарий запуска для запуска во время загрузки.

cp support-files/mysql.server /etc/init.d/mysql
systemctl enable mysql

 

Затем переместите все MySQL двоичные команды в директорию ‘/usr/local/bin‘ и создайте новую символическую ссылку.

mv bin/* /usr/local/bin/
rm -rf bin/
ln -s /usr/local/bin /usr/local/mysql/

 

Изменение владельца каталога mysql в каталоге на пользователя root и группу MySQL, а также изменить каталог данных в MySQL в качестве владельца.

chown -R root:mysql .
chown -R mysql data

 

B. Настройка MySQL Cluster Data Node

Создание новый конфигурационный файл MySQL ‘ my.cnf ‘ с помощью vim:

vim /etc/my.cnf

 

Вставьте конфигурацию в файл:

# MySQL Config
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
 
# Run ndb storage engine
ndbcluster
# IP address management node
ndb-connectstring=192.168.2.21
 
[mysql_cluster]
# IP address management node
ndb-connectstring=192.168.2.21
 
# MySQL Pid and Log
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

Сохраните и выйдите.

Создайте новый каталог для узла данных и измените владельца на пользователя MySQL.

mkdir -p /var/lib/mysql-cluster/
chown -R mysql /var/lib/mysql-cluster

 

C. Запуск MySQL на узле Data

Запустите службу MySQL с командой ниже:

ndbd --initial
systemctl start mysql

 

Убедитесь, что нет никакой ошибки, и результаты приведены ниже (data-node2):

Старт MySQL на узле данных

MySQL на узле данных запускается. Теперь вы можете установить пароль MySQL с помощью следующей команды:

mysql_secure_installation

 

или получить доступ к оболочке MySQL.

mysql -u root -p

 

Примечание :
Повторить этот шаг на “data-node2” IP – адрес сервера 192.168.2.23.

Шаг 3 – Установка и настройка SQL Node

На этом этапе мы будем устанавливать программное обеспечение кластера MySQL и настроем его в качестве SQL Node. Этот узел используется для доступа к базам данных на узлах данных. Процесс установки такой же, как узел данных, но мы не должны запускать службу NDBD в SQL Node.

Войдите в SQL Node с SSH:

ssh root@192.168.2.24

 

A. Установите MySQL Cluster на узле SQL

Установите пакет libaio1 и создайте нового пользователя и группу MySQL:

apt-get install libaio1
groupadd mysql
useradd -g mysql mysql

 

Загрузите пакет MySQL Cluster с сайта, разархивируйте и переименуйте его:

http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
tar -xzvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64/ mysql/

 

Переместите каталог MySQL:

mv mysql /usr/local/
cd /usr/local/mysql/

 

Запустите скрипт mysql_install_db:

./scripts/mysql_install_db --user=mysql

 

Скопируйте файл службы и добавьте его в автозагрузку:

cp support-files/mysql.server /etc/init.d/mysql
systemctl enable mysql

 

Переместите все бинарные файлы MySQL на каталог ‘/usr/local/bin‘:

mv bin/* /usr/local/bin/
rm -rf bin/
ln -s /usr/local/bin /usr/local/mysql/

 

Измените владельца всех файлов и директории:

chown -R root:mysql .
chown -R mysql data

 

B. Настройка MySQL Cluster Node SQL

Создайте новый конфигурационный файл my.cnf с помощью vim:

vim /etc/my.cnf

 

Вставьте конфигурацию в файл:

# Конфигурация MySQL
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
user=mysql
 
# Запустить механизм хранения ndb
ndbcluster
# IP address узла управления
ndb-connectstring=192.168.2.21
 
[mysql_cluster]
# IP address узла управления
ndb-connectstring=192.168.2.21
 
# MySQL Pid and Log
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

 

Сохраните и выйдите.

C. Запустите SQL Node

Запустите узел SQL, запустив службу MySQL с помощью команды systemctl:

systemctl start mysql

 

SQL Узел запускается, теперь вы можете настроить пароль для MySQL.

mysql_secure_installation

 

Шаг 4 – Тестирование

Тест, чтобы создать новую базу данных для узла SQL.

mysql -u root -p
TYPE PASSWORD


create database nanana;

 

Создание тестовой базы данных в кластере

Убедитесь, что база данных реплицируется на серверах данных узлов.
И когда узел выключен, другой узел будет обрабатывать соединение с узлом SQL.

mysql -u root -p
TYPE PASSWORD


show databases;

 

Проверка базы данных на узлах данных

Проверка состояния кластера из узла управления:

ndb_mgm
show

 

Проверьте состояние кластера

Шаг 5 – Дополнительные советы

Выполнение безопасную перезагрузку и выключения кластера.

Перейдите к узлу управления кластером и введите приведенную ниже команду для выключения кластера:

ndb_mgm
shutdown

 

Команда завершит работу всех услуг NDB по узлам данных.

Если вы хотите запустить кластер снова, вы можете запустить команду ниже на узле управления:

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/

 

Выполните команду ниже на всех узлах данных:

ndbd
systemctl start mysql

 

Затем запустите MySQL службы на узле (ы) SQL:

systemctl start mysql

 

Теперь ваш MySQL Cluster работает снова.

Как установить MySQL Cluster на Ubuntu 16.04

Справка

Exit mobile version