Spec-Zone.ru › MySQL 8.4

25.4.1 Быстрая настройка кластера NDB

Для ознакомления с основами мы описываем простейшую конфигурацию функционального кластера NDB. После этого вы сможете спроектировать желаемую конфигурацию, используя информацию из других соответствующих разделов этой главы.

Сначала вам нужно создать каталог конфигурации, например, /var/lib/mysql-cluster, выполнив следующую команду от имени пользователя root:

$> mkdir /var/lib/mysql-cluster

В этом каталоге создайте файл с именем config.ini, содержащий следующую информацию. Замените соответствующие значения HostName и DataDir на необходимые для вашей системы.

# file "config.ini" - showing minimal setup consisting of 1 data node,
# 1 management server, and 3 MySQL servers.
# The empty default sections are not required, and are shown only for
# the sake of completeness.
# Data nodes must provide a hostname but MySQL Servers are not required
# to do so.
# If you do not know the hostname for your machine, use localhost.
# The DataDir parameter also has a default value, but it is recommended to
# set it explicitly.
# [api] and [mgm] are aliases for [mysqld] and [ndb_mgmd], respectively.

[ndbd default]
NoOfReplicas= 1

[mysqld  default]
[ndb_mgmd default]
[tcp default]

[ndb_mgmd]
HostName= myhost.example.com

[ndbd]
HostName= myhost.example.com
DataDir= /var/lib/mysql-cluster

[mysqld]
[mysqld]
[mysqld]

Теперь можно запустить сервер управления ndb_mgmd. По умолчанию он пытается прочитать файл config.ini в текущем рабочем каталоге, поэтому перейдите в каталог, где находится этот файл, и запустите ndb_mgmd:

$> cd /var/lib/mysql-cluster
$> ndb_mgmd

Затем запустите один узел данных, выполнив ndbd:

$> ndbd

По умолчанию, ndbd ищет сервер управления по адресу localhost на порту 1186.

Примечание

Если вы установили MySQL из двоичного архива tar, необходимо явно указать путь к серверам ndb_mgmd и ndbd. (Обычно они находятся в /usr/local/mysql/bin).

Наконец, перейдите в каталог данных MySQL (обычно /var/lib/mysql или /usr/local/mysql/data) и убедитесь, что файл my.cnf содержит необходимые параметры для включения движка хранения NDB:

[mysqld]
ndbcluster

Теперь можно запустить сервер MySQL как обычно:

$> mysqld_safe --user=mysql &

Подождите некоторое время, чтобы убедиться, что сервер MySQL работает правильно. Если вы видите сообщение mysql ended, проверьте файл журналов сервера .err, чтобы выяснить, что пошло не так.

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

$> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 8.4.4

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW ENGINES\G
...
*************************** 12. row ***************************
Engine: NDBCLUSTER
Support: YES
Comment: Clustered, fault-tolerant, memory-based tables
*************************** 13. row ***************************
Engine: NDB
Support: YES
Comment: Alias for NDBCLUSTER
...

Номера строк в примере вывода могут отличаться от значений на вашем компьютере, в зависимости от конфигурации сервера.

Попробуйте создать таблицу NDBCLUSTER:

$> mysql
mysql> USE test;
Database changed

mysql> CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
Query OK, 0 rows affected (0.09 sec)

mysql> SHOW CREATE TABLE ctest \G
*************************** 1. row ***************************
       Table: ctest
Create Table: CREATE TABLE `ctest` (
  `i` int(11) default NULL
) ENGINE=ndbcluster DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

Чтобы проверить правильность настройки узлов, запустите клиент управления:

$> ndb_mgm

Используйте команду SHOW в клиенте управления, чтобы получить отчет о состоянии кластера:

ndb_mgm> SHOW
Cluster Configuration
---------------------
[ndbd(NDB)]     1 node(s)
id=2    @127.0.0.1  (Version: 8.4.5-ndb-8.4.5, Nodegroup: 0, *)

[ndb_mgmd(MGM)] 1 node(s)
id=1    @127.0.0.1  (Version: 8.4.5-ndb-8.4.5)

[mysqld(API)]   3 node(s)
id=3    @127.0.0.1  (Version: 8.4.5-ndb-8.4.5)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)

На этом этапе вы успешно настроили работающий кластер NDB. Теперь вы можете хранить данные в кластере, используя любую таблицу, созданную с помощью ENGINE=NDBCLUSTER или его псевдонима ENGINE=NDB.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/mysql-cluster-quick.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API