MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  NDB Cluster のクイックテスト設定

23.3.1 NDB Cluster のクイックテスト設定

基本を理解するために、機能する NDB Cluster のもっとも単純な構成について説明します。 その後、この章の関連するほかのセクションに示した情報から、必要なセットアップを設計できるようになります。

最初に、システムの root ユーザーとして次のコマンドを実行して、/var/lib/mysql-cluster などの構成ディレクトリを作成する必要があります。

shell> 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 don't know the hostname for your machine, use localhost.
# The DataDir parameter also has a default value, but it is recommended to
# set it explicitly.
# Note: [db], [api], and [mgm] are aliases for [ndbd], [mysqld], and [ndb_mgmd],
# respectively. [db] is deprecated and should not be used in new installations.

[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 を起動します。

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

次に、ndbd を実行して 1 つのデータノードを起動します。

shell> ndbd

ndbd の起動時に使用できるコマンド行オプションについては、セクション23.4.32「NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション」を参照してください。

デフォルトでは、ndbdlocalhost のポート 1186 で管理サーバーを検索します。

注記

バイナリ tarball から MySQL をインストールした場合は、ndb_mgmd および ndbd サーバーのパスを明示的に指定する必要があります。 (通常、これらは/usr/local/mysql/bin にあります。)

最後に、MySQL データディレクトリ (通常は /var/lib/mysql または /usr/local/mysql/data) に場所を変更して、NDB ストレージエンジンを有効にするのに必要なオプションが my.cnf ファイルに含まれていることを確認します。

[mysqld]
ndbcluster

これで、MySQL サーバーを通常どおり起動できるようになりました。

shell> mysqld_safe --user=mysql &

しばらく待ってから、MySQL サーバーが適切に実行されていることを確認します。 「mysql ended」という通知が表示された場合は、サーバーの .err ファイルをチェックして、どのような不具合があったかを調べます。

ここまで問題なく進んだ場合は、クラスタを使用し始めることができます。 サーバーに接続して、NDBCLUSTER ストレージエンジンが有効になっていることを確認します。

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

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 テーブルを作成してみます。

shell> 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=latin1
1 row in set (0.00 sec)

ノードが適切にセットアップされたことをチェックするには、管理クライアントを起動します。

shell> ndb_mgm

クラスタのステータスに関するレポートを取得するには、管理クライアント内で SHOW コマンドを使用します。

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

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

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

これで、動作中の NDB Cluster が正常に設定されました。 これで、ENGINE=NDBCLUSTER またはそのエイリアスである ENGINE=NDB を指定して作成したテーブルを使用して、クラスタにデータを格納できます。


関連キーワード:  NDB, テーブル, ndbinfo, ndb, ノード, 構成, 管理, データ, インストール, サーバー