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


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

第 23 章 MySQL NDB Cluster 8.0

目次

23.1 NDB Cluster の概要
23.1.1 NDB Cluster のコア概念
23.1.2 NDB Cluster ノード、ノードグループ、フラグメントレプリカ、およびパーティション
23.1.3 NDB Cluster のハードウェア、ソフトウェア、およびネットワーク要件
23.1.4 NDB Cluster の新機能
23.1.5 NDB 8.0 で追加、非推奨または削除されたオプション、変数、およびパラメータ
23.1.6 MySQL Server NDB Cluster と比較した InnoDB の使用
23.1.7 NDB Cluster の既知の制限事項
23.2 NDB Cluster のインストール
23.2.1 Linux での NDB Cluster のインストール
23.2.2 Windows への NDB Cluster のインストール
23.2.3 NDB Cluster の初期構成
23.2.4 NDB Cluster の初期起動
23.2.5 テーブルとデータを含む NDB Cluster の例
23.2.6 NDB Cluster の安全なシャットダウンと再起動
23.2.7 NDB Cluster のアップグレードおよびダウングレード
23.2.8 NDB Cluster Auto-Installer (サポートされなくなりました)
23.3 NDB Cluster の構成
23.3.1 NDB Cluster のクイックテスト設定
23.3.2 NDB Cluster 構成パラメータ、オプション、および変数の概要
23.3.3 NDB Cluster 構成ファイル
23.3.4 NDB Cluster での高速インターコネクトの使用
23.4 NDB Cluster プログラム
23.4.1 ndbd — NDB Cluster データノードデーモン
23.4.2 ndbinfo_select_all — ndbinfo テーブルからの選択
23.4.3 ndbmtd — NDB Cluster データノードデーモン (マルチスレッド)
23.4.4 ndb_mgmd — NDB Cluster 管理サーバーデーモン
23.4.5 ndb_mgm — NDB Cluster 管理クライアント
23.4.6 ndb_blob_tool — NDB Cluster テーブルの BLOB および TEXT カラムのチェックおよび修復
23.4.7 ndb_config — NDB Cluster 構成情報の抽出
23.4.8 ndb_delete_all — NDB テーブルからのすべての行の削除
23.4.9 ndb_desc — NDB テーブルの表示
23.4.10 ndb_drop_index — NDB テーブルからのインデックスの削除
23.4.11 ndb_drop_table — NDB テーブルの削除
23.4.12 ndb_error_reporter — NDB エラーレポートユーティリティー
23.4.13 ndb_import — NDB への CSV データのインポート
23.4.14 ndb_index_stat — NDB インデックス統計ユーティリティー
23.4.15 ndb_move_data — NDB データコピーユーティリティー
23.4.16 ndb_perror — NDB エラーメッセージ情報の取得
23.4.17 ndb_print_backup_file — NDB バックアップファイルの内容の出力
23.4.18 ndb_print_file — NDB ディスクデータファイル内容の出力
23.4.19 ndb_print_frag_file — NDB フラグメントリストファイルの内容の出力
23.4.20 ndb_print_schema_file — NDB スキーマファイル内容の出力
23.4.21 ndb_print_sys_file — NDB システムファイル内容の出力
23.4.22 ndb_redo_log_reader — クラスタ redo ログの内容の確認および印刷
23.4.23 ndb_restore — NDB Cluster バックアップの復元
23.4.24 ndb_select_all — NDB テーブルの行の出力
23.4.25 ndb_select_count — NDB テーブルの行数の出力
23.4.26 ndb_setup.py — NDB Cluster 用ブラウザベースの Auto-Installer の起動 (非推奨)
23.4.27 ndb_show_tables — NDB テーブルのリストの表示
23.4.28 ndb_size.pl — NDBCLUSTER サイズ要件エスティメータ
23.4.29 ndb_top — NDB スレッドの CPU 使用率情報の表示
23.4.30 ndb_waiter — NDB Cluster が特定のステータスに達するまで待機
23.4.31 ndbxfrm — NDB Cluster によって作成されたファイルの圧縮、圧縮解除、暗号化、および復号化
23.4.32 NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション
23.5 NDB Cluster の管理
23.5.1 NDB Cluster 管理クライアントのコマンド
23.5.2 NDB Cluster ログメッセージ
23.5.3 NDB Cluster で生成されるイベントレポート
23.5.4 NDB Cluster 起動フェーズのサマリー
23.5.5 NDB Cluster のローリング再起動の実行
23.5.6 NDB Cluster のシングルユーザーモード
23.5.7 NDB Cluster データノードのオンラインでの追加
23.5.8 NDB Cluster のオンラインバックアップ
23.5.9 NDB Cluster での MySQL Server の使用
23.5.10 NDB Cluster ディスクデータテーブル
23.5.11 NDB Cluster での ALTER TABLE を使用したオンライン操作
23.5.12 NDB_STORED_USER での分散 MySQL 権限
23.5.13 NDB API 統計のカウンタと変数
23.5.14 ndbinfo: NDB Cluster 情報データベース
23.5.15 NDB Cluster の INFORMATION_SCHEMA テーブル
23.5.16 クイックリファレンス: NDB Cluster SQL ステートメント
23.5.17 NDB Cluster のセキュリティーの問題
23.6 NDB Cluster レプリケーション
23.6.1 NDB Cluster レプリケーション: 省略形と記号
23.6.2 NDB Cluster レプリケーションの一般的な要件
23.6.3 NDB Cluster レプリケーションの既知の問題
23.6.4 NDB Cluster レプリケーションスキーマおよびテーブル
23.6.5 NDB Cluster のレプリケーションの準備
23.6.6 NDB Cluster レプリケーションの開始 (シングルレプリケーションチャネル)
23.6.7 NDB Cluster レプリケーションでの 2 つのレプリケーションチャネルの使用
23.6.8 NDB Cluster レプリケーションによるフェイルオーバーの実装
23.6.9 NDB Cluster レプリケーションによる NDB Cluster バックアップ
23.6.10 NDB Cluster レプリケーション: 双方向および循環レプリケーション
23.6.11 NDB Cluster レプリケーションの競合解決
23.7 NDB Cluster リリースノート

MySQL NDB Cluster は、分散コンピューティング環境に適した高可用性高冗長性バージョンの MySQL です。 最新の NDB Cluster リリースシリーズでは、バージョン 8 の NDB ストレージエンジン (NDBCLUSTER とも呼ばれる) を使用して、クラスタ内の MySQL サーバーやその他のソフトウェアで複数のコンピュータを実行できるようにします。 NDB Cluster 8.0 は、バージョン 8.0.19 以降で General Availability (GA) リリースとして使用できるようになり、NDB ストレージエンジンのバージョン 8.0 が組み込まれています。 NDB Cluster 7.6 および NDB Cluster 7.5 は GA リリースとして引き続き使用でき、それぞれバージョン 7.6 および 7.5 の NDB を使用します。 以前の GA リリースは、本番、NDB Cluster 7.4 および NDB Cluster 7.3 で引き続き使用でき、それぞれ NDB バージョン 7.4 および 7.3 が組み込まれています。 NDB 7.2 以前のリリースシリーズはサポートまたは保守されなくなりました

NDB ストレージエンジンのサポートは、オラクルによってビルドされた標準の MySQL Server 8.0 バイナリには含まれていません。 代わりに、Oracle の NDB Cluster バイナリのユーザーは、サポートされているプラットフォームの NDB Cluster の最新のバイナリリリースにアップグレードするようにしてください。これには、ほとんどの Linux ディストリビューションで動作する RPM が含まれます。 NDB Cluster ソースから構築する 8.0 ユーザーは、MySQL 8.0 用に提供されているソースを使用し、NDB サポートを提供するために必要なオプションで構築するようにしてください。 (ソースを入手できる場所については、このセクションで後述します。)

重要

MySQL NDB Cluster は InnoDB クラスタ をサポートしていません。InnoDB クラスタ は、InnoDB ストレージエンジンとともに MySQL Server 8.0 を使用して配備する必要があり、NDB Cluster 配布に含まれていない追加のアプリケーションを使用して配備する必要があります。 MySQL Server 8.0 バイナリは、MySQL NDB Cluster では使用できません。 InnoDB クラスタ のデプロイおよび使用の詳細は、MySQL AdminAPI の使用 を参照してください。セクション23.1.6「MySQL Server NDB Cluster と比較した InnoDB の使用」 では、NDB ストレージエンジンと InnoDB ストレージエンジンの違いについて説明します。

この章では、8.0.23 を介した NDB Cluster 8.0 リリースについて説明します。 NDB Cluster 8.0 が一般提供リリースとして使用可能になり (NDB 8.0.19 以降)、新しい配備に推奨されるようになりました。使用可能な最新リリースは NDB 8.0.22 です。 NDB Cluster 7.6 および 7.5 は、本番で引き続きサポートされている以前の GA リリースです。NDB Cluster 7.6 については、What is New in NDB Cluster 7.6 を参照してください。 NDB Cluster 7.5 に関する同様の情報については、What is New in NDB Cluster 7.5 を参照してください。 NDB Cluster 7.4 および 7.3 は以前の GA リリースで本番で引き続きサポートされていますが、本番用の新しい配備では NDB Cluster 8.0 を使用することをお勧めします。MySQL NDB Cluster 7.3 and NDB Cluster 7.4 を参照してください。

サポートされるプラットフォーム.  NDB Cluster は現在使用可能であり、多数のプラットフォームでサポートされています。 オペレーティングシステムバージョン、オペレーティングシステム配布、およびハードウェアプラットフォームの特定の組み合わせで利用可能な正確なサポートレベルについては、https://www.mysql.com/support/supportedplatforms/cluster.html を参照してください。

可用性.  NDB Cluster バイナリおよびソースパッケージは、https://dev.mysql.com/downloads/cluster/ からサポートされているプラットフォームで使用できます。

NDB Cluster のリリース番号.  NDB 8.0 は、MySQL 8.0.13 および MySQL NDB Cluster 8.0.13 以降、MySQL Server 8.0 シリーズのリリースと同じリリースパターンに従います。 この「手動」およびその他の MySQL ドキュメントでは、NDB で始まるバージョン番号を使用して、これら以降の NDB Cluster リリースを識別します。 このバージョン番号は NDB 8.0 リリースで使用される NDBCLUSTER ストレージエンジンのバージョン番号であり、NDB Cluster 8.0 リリースのベースとなる MySQL 8.0 サーバーのバージョンと同じです。

NDB Cluster ソフトウェアで使用されるバージョン文字列.  MySQL NDB Cluster ディストリビューションで提供される mysql クライアントによって表示されるバージョン文字列は、次の形式を使用します:

mysql-mysql_server_version-cluster

mysql_server_version は NDB Cluster リリースのベースとなる MySQL Server のバージョンを表します。 NDB Cluster 8.0 のすべてのリリースでは、これは 8.0.n です。ここで、n はリリース番号です。 -DWITH_NDBCLUSTER または同等のものを使用してソースからビルドすると、-cluster 接尾辞がバージョン文字列に追加されます。 (セクション23.2.1.4「Linux でのソースからの NDB Cluster の構築」およびセクション23.2.2.2「Windows でのソースからの NDB Cluster のコンパイルとインストール」を参照してください。) 次に示すように、mysql クライアントでこの書式が使用されていることがわかります。

shell> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 8.0.23-cluster Source distribution

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

mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 8.0.23-cluster
1 row in set (0.00 sec)

MySQL 8.0 を使用した NDB Cluster の最初の General Availability リリースは、MySQL 8.0.19 を使用した NDB 8.0.19 です。

MySQL 8.0 配布に通常含まれていないほかの NDB Cluster プログラムによって表示されるバージョン文字列は、次の形式を使用します:

mysql-mysql_server_version ndb-ndb_engine_version

mysql_server_version は NDB Cluster リリースのベースとなる MySQL Server のバージョンを表します。 NDB Cluster 8.0 のすべてのリリースでは、これは 8.0.n です。ここで、n はリリース番号です。ndb_engine_version は、NDB Cluster ソフトウェアのこのリリースで使用される NDB ストレージエンジンのバージョンです。 すべての NDB 8.0 リリースで、この番号は MySQL Server バージョンと同じです。 この形式は、次のように ndb_mgm クライアントの SHOW コマンドの出力で使用されます:

ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @10.0.10.6  (mysql-8.0.29 ndb-8.0.23, Nodegroup: 0, *)
id=2    @10.0.10.8  (mysql-8.0.29 ndb-8.0.23, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=3    @10.0.10.2  (mysql-8.0.29 ndb-8.0.23)

[mysqld(API)]   2 node(s)
id=4    @10.0.10.10  (mysql-8.0.29 ndb-8.0.23)
id=5 (not connected, accepting connect from any host)

標準の MySQL 8.0 リリースとの互換性.  多くの標準 MySQL スキーマおよびアプリケーションは NDB Cluster を使用して動作できますが、NDB Cluster を使用して実行すると、変更されていないアプリケーションおよびデータベーススキーマにわずかな互換性がないか、パフォーマンスが最適でない可能性があります (セクション23.1.7「NDB Cluster の既知の制限事項」 を参照)。 これらの問題のほとんどは克服できますが、これは、スキーマ、クエリー、およびアプリケーションに変更を加える可能性を考慮せずに、既存の (たとえば、MyISAMInnoDB を使用する) アプリケーションデータストアを NDB ストレージエンジンを使用するものに切り替えることがほとんど不可能であることも意味します。 NDB サポートなしでコンパイルされた (つまり、-DWITH_NDBCLUSTER_STORAGE_ENGINE またはそのエイリアス -DWITH_NDBCLUSTER なしで構築された) mysqld は、それを使用して構築された mysqld のドロップイン置換として機能できません。

NDB Cluster 開発ソースツリー.  NDB Cluster 開発ツリーには、https://github.com/mysql/mysql-server からもアクセスできます。

https://github.com/mysql/mysql-server で保守される NDB Cluster 開発ソースは GPL のもとでライセンス供与されます。 Git を使用して MySQL ソースを取得し、自分で構築する方法の詳細は、セクション2.9.5「開発ソースツリーを使用して MySQL をインストールする」 を参照してください。

注記

MySQL Server 8.0 と同様に、NDB Cluster 8.0 リリースは CMake を使用して構築されます。

NDB Cluster 8.0 は NDB 8.0.19 以降で一般提供リリースとして使用可能であり、新しい配備に推奨されます。 NDB Cluster 7.6 および 7.5 は、本番で引き続きサポートされている以前の GA リリースです。NDB Cluster 7.6 については、What is New in NDB Cluster 7.6 を参照してください。 NDB Cluster 7.5 に関する同様の情報については、What is New in NDB Cluster 7.5 を参照してください。 NDB Cluster 7.4 および 7.3 は以前の GA リリースで本番で引き続きサポートされていますが、本番用の新しい配備では NDB Cluster 8.0 を使用することをお勧めします。MySQL NDB Cluster 7.3 and NDB Cluster 7.4 を参照してください。

NDB Cluster が進化し続けるため、この章の内容は改訂の対象となります。 NDB Cluster に関する追加情報は、http://www.mysql.com/products/cluster/ の MySQL web サイトにあります。

追加のリソース.  NDB Cluster の詳細は、次の場所を参照してください:


関連キーワード:  NDB, テーブル, ndb, ndbinfo, リリース, バージョン, ノード, 構成, サポート, Server