Гид по технологиям

Настройка узлов MySQL Cluster (узлы хранения)

• 4 min read • Базы данных • Обновлено 27 Nov 2025
Настройка узлов MySQL Cluster
Настройка узлов MySQL Cluster

TL;DR

Установите MySQL (mysql-max-5.0.19) на оба узла хранения (sql1.example.com и sql2.example.com), создайте конфигурацию ndbcluster в /etc/my.cnf, инициализируйте каталог данных и запустите ndbd и mysqld. Выполняйте ndbd –initial только при первом запуске или после изменения config.ini на менеджере кластера.

Краткое описание

Ниже — поэтапная инструкция по установке и запуску узлов хранения MySQL Cluster на серверах sql1.example.com и sql2.example.com. Приведены команды для установки, создание системных пользователей, подготовка директорий, конфигурирование и запуск службы. Также добавлены проверочные шаги и рекомендации по надёжному запуску при старте системы.

Требования и предпосылки

  • Доступ к серверам sql1.example.com и sql2.example.com под пользователем с правами root или с sudo.
  • Доступ к менеджеру кластера (nmc) — укажите его IP в конфиге ниже.
  • Портовая доступность между узлами: ndbd использует порты по умолчанию (TCP 1186/2202 и т.д.).
  • Пакет wget и базовые утилиты (tar, ln, mv, chown) должны быть установлены.

1. Установка MySQL на узлах хранения

На обоих узлах (sql1.example.com и sql2.example.com) выполните следующие команды:

groupadd mysql
useradd -g mysql mysql
cd /usr/local/
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-max-5.0.19-linux-i686-\
glibc23.tar.gz/from/http://www.mirrorservice.org/sites/ftp.mysql.com/
tar xvfz mysql-max-5.0.19-linux-i686-glibc23.tar.gz
ln -s mysql-max-5.0.19-linux-i686-glibc23 mysql
cd mysql
scripts/mysql_install_db --user=mysql
chown -R root:mysql .
chown -R mysql data
cp support-files/mysql.server /etc/init.d/
chmod 755 /etc/init.d/mysql.server
update-rc.d mysql.server defaults
cd /usr/local/mysql/bin
mv * /usr/bin
cd ../
rm -fr /usr/local/mysql/bin
ln -s /usr/bin /usr/local/mysql/bin

Пояснения:

  • Создаётся системная группа и пользователь mysql.
  • Пакет распаковывается в /usr/local и создаётся символьная ссылка mysql -> каталог с версией.
  • Инициализация каталога данных выполняется скриптом mysql_install_db под пользователем mysql.
  • Скрипты запуска и бинарники перемещаются в /etc/init.d и /usr/bin для удобства управления.

2. Создание конфигурационного файла /etc/my.cnf

Создайте файл /etc/my.cnf на обоих узлах:

vi /etc/my.cnf

Вставьте в файл следующее (укажите IP менеджера кластера вместо 192.168.0.103):

| [mysqld] ndbcluster # IP-адрес узла управления кластером ndb-connectstring=192.168.0.103 [mysql_cluster] # IP-адрес узла управления кластером ndb-connectstring=192.168.0.103 |

Важно: замените 192.168.0.103 на фактический IP сервера управления кластером (например, loadb1.example.com).

3. Подготовка директорий данных и первый запуск ndbd/mysqld

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

mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
ndbd --initial
/etc/init.d/mysql.server start

Примечание: команду ndbd –initial следует выполнять только при первом запуске узла хранения или если файл /var/lib/mysql-cluster/config.ini на менеджере кластера изменился. Повторный запуск ndbd –initial без нужды может вызвать перезапись данных.

4. Установка пароля root MySQL

После запуска сервера задайте пароль для пользователя root:

mysqladmin -u root password yourrootsqlpassword

Замените yourrootsqlpassword на надёжный пароль и сохраните его в безопасном хранилище.

5. Автозапуск ndbd при старте системы

Чтобы узлы автоматически запускали ndbd при старте, создайте простой init-скрипт и установите системные ссылки:

echo 'ndbd' > /etc/init.d/ndbd
chmod 755 /etc/init.d/ndbd
update-rc.d ndbd defaults

После этого ndbd будет запускаться вместе с системными уровнями по умолчанию.

Проверки и диагностирование

  • Проверьте, что процесс ndbd запущен: ps aux | grep ndbd
  • Убедитесь, что mysqld слушает: netstat -tlnp | grep mysql
  • На менеджере кластера (ndb_mgmd) выполните SHOW в ndb_mgm для проверки статуса узлов:
ndb_mgm -e show

Ожидается, что узлы хранения будут в состоянии Connected или Started.

Критерии приёмки

  • Узлы sql1 и sql2 успешно подключены к менеджеру кластера и отображаются в ndb_mgm.
  • Служба mysqld запущена и принимает подключения локально.
  • Директория /var/lib/mysql-cluster заполнена отношениями данных и журналами.
  • Автозапуск ndbd настроен и включён в системные уровни.

Чеклист действий (быстрая проверка)

  • Созданы пользователь и группа mysql
  • Распакован и установлен mysql-max-5.0.19
  • Выполнен scripts/mysql_install_db
  • Создан /etc/my.cnf с корректным ndb-connectstring
  • Выполнен ndbd –initial один раз
  • Запущен /etc/init.d/mysql.server
  • Установлен пароль root
  • Создан init-скрипт ndbd и добавлен в автозапуск

Когда этот план не подойдёт (ограничения)

  • Версия MySQL слишком старая для современных дистрибутивов — возможны проблемы совместимости с библиотеками glibc или архитектурой (i686 vs x86_64).
  • Если в инфраструктуре используются firewall/SELinux, потребуется дополнительная настройка портов и политик.
  • Для больших кластеров и production стоит использовать менеджер конфигурации и мониторинга (Ansible, Puppet, Zabbix), а также протестировать процедуру восстановления.

Альтернативные подходы

  • Использовать современные версии MySQL Cluster/NDB, совместимые с x86_64 и новыми дистрибутивами.
  • Рассмотреть отказ от NDB в пользу распределённых решений с репликацией (MySQL Group Replication, Galera) в зависимости от требований к латентности и консистентности.

Краткое резюме

Установка узлов хранения MySQL Cluster сводится к распаковке дистрибутива, инициализации каталога данных, созданию конфигурации с указанием ndb-connectstring на менеджер кластера, единовременной инициализации ndbd и обеспечению автозапуска служб. После настройки обязательно проверьте состояние узлов через ndb_mgm и убедитесь в корректности конфигурации сети и прав доступа.

Важно: всегда делайте резервные копии и проверяйте процедуру восстановления в тестовой среде перед применением в production.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро