mysqldは従来のMySQLサバのプロセスです。MySQL集群で使用するには,mysqldはhttps://dev.10bet靠谱mys10bet手机中文版ql.com/downloads/から入手可能なプリコンパ超市超市ル済みバ超市超市ナリに含まれるため,NDB
ストレ,ジエンジンのサポ,トを使用して構築する必要があります。ソ,スからMySQLを構築する場合は,-DWITH_NDBCLUSTER = 1
オプションを付けてCMakeを呼び出して,NDB
のサポ,トを含める必要があります。
ソスからのMySQL集群のコンパルにいての詳細は,セクション18.2.2.3 " Linuxでのソ,スからのMySQL集群のビルド"およびセクション18.2.3.2“WindowsでのソースからのMySQL集群のコンパイルとインストール”を参照してください。
(このセクションで説明したものに加えて,MySQL集群に関連するmysqldのオプションおよび変数にいては,セクション18.3.4“MySQL集群用のMySQL服务器オプションおよび変数”を参照してください。)
集群サポ,トを使用してmysqldバ电子邮箱ナリを構築した場合,NDBCLUSTER
ストレ,ジエンジンはまだデフォルトで無効になっています。次の2の指定可能なオプションのいずれかを使用すると,このエンジンを有効にできます。
mysqldを起動する際に,コマンド行で起動オプションとして
——ndbcluster
を使用します。my.cnf
ファ@ @ルの(mysqld)
セクションにndbcluster
を含む行を挿入します。
NDBCLUSTER
ストレージエンジンを有効にしてサーバーが実行されていることを確認する簡単な方法は,MySQL监视器(mysql)で显示引擎
ステ,トメントを発行することです。NDBCLUSTER
の行に,支持
値として値是的
が表示されます。この行に没有
が表示される場合や,このような行が出力に表示されない場合は,NDB
対応のMySQLバジョンが動作していません。この行に禁用
が表示される場合は,先ほど説明した2の方法のいずれかを使用して有効にする必要があります。
クラスタ構成デタを読み取るには,MySQLサバに少なくとも次の3の情報が必要です。
MySQLサバ自身のクラスタノドID
管理サ,バ,(mgmノ,ド)のホスト名またはIPアドレス
管理サバに接続できるtcp / ipポトの数
ノ,ドidは動的に割り当てられるため,明示的に指定する必要は厳密にはありません。
接続文字列を指定するには,mysqldの起動時にコマンド行で,またはmy.cnf
内に,mysqldパラメ,タndb-connectstring
を使用します。接続文字列には,管理サーバーを検出できるホスト名またはIPアドレス,および使用されるTCP / IPポートが含まれます。
次の例では,ndb_mgmd.10bet靠谱mysql.com
は管理サーバーが存在するホストであり,管理サーバーはポート1186でクラスタメッセージを待機します。
Shell > mysqld——ndbcluster——ndb-connectstring=ndb_mgmd.m10bet靠谱ysql.com:1186
接続文字列の詳細は,セクション18.3.2.3“MySQL集群の接続文字列”を参照してください。
この情報が指定されると,MySQLサ,バ,がクラスタへの完全な参加者となります。(この方法で実行しているmysqldプロセスは,多くの場合SQLノードと呼んでいます)それは,すべてのクラスタデータノードおよびそのステータスを完全に認識し,すべてのデータノードへの接続を確立します。この場合,任意のデータノードをトランザクションコーディネータとして使用し,ノードデータを読み取って更新できます。
mysqlクラ@ @アントで显示PROCESSLIST
を使用すると,MySQLサ,バ,がクラスタに接続されているかどうかを確認できます。MySQLサ,バ,がクラスタに接続されていて,过程
権限を持っている場合は,出力の最初の行が次のように表示されます。
mysql >显示PROCESSLIST \ G *************************** 1。行*************************** Id: 1用户:系统用户主机:db:命令:Daemon时间:1状态:Waiting for event from ndbcluster Info: NULL
MySQL集群に参加するには,——ndbcluster
と——ndb-connectstring
の両方のオプション(my.cnf
の同等のオプション)を付けて,mysqldプロセスを起動する必要があります。——ndbcluster
オプションのみを付けてmysqldが起動された場合や,それがクラスタに接続できない場合は,ストレ,ジエンジンに関係なく,NDB
テ,ブルを操作することも,新しいテ,ブルを作成することもできません。後者の制約は,sqlノ,ドがクラスタに接続されていない間に,NDB
テブルと同じ名前を持テブルが作成されることを防ぐ目的の安全対策です。mysqldプロセスがMySQL集群に参加していない間に,別のストレージエンジンを使用してテーブルを作成する必要がある場合は,——ndbcluster
オプションを付けずに,サ,バ,を起動する必要があります。