目次
- 23.1 NDB Cluster の概要
- 23.2 NDB Cluster のインストール
- 23.3 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 の既知の制限事項」 を参照)。 これらの問題のほとんどは克服できますが、これは、スキーマ、クエリー、およびアプリケーションに変更を加える可能性を考慮せずに、既存の (たとえば、MyISAM
や InnoDB
を使用する) アプリケーションデータストアを 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 Cluster に関してよく寄せられる質問への回答については、セクションA.10「MySQL 8.0 FAQ: NDB Cluster」 を参照してください。
NDB Cluster フォーラム: https://forums.mysql.com/list.php?25。
NDB Cluster に関する多くの NDB Cluster ユーザーおよび開発者のブログで NDB Cluster に関する経験が得られ、PlanetMySQL を介してこれらのフィードを利用できるようになります。