Fork me on GitHub

Debianでmysql+clusterを利用する

  • Mar 03, 2010

categoryプラグインは存在しません。categoryプラグインは存在しません。categoryプラグインは存在しません。

構成

ndb1
mysqld, ndb manager, ndbd
ndb2
ndbd

をそれぞれ起動すると仮定しています。

使用したバージョンは以下の通り。

MySQLのインストール

以下のパッケージをインストールする。

apt-get install mysql-server

設定ファイル編集

ndb1, ndb2の/etc/mysql/my.cnfを以下のように編集。

[mysqld]
ndbcluster
ndb-connectstring=ndb1
[MYSQL_CLUSTER]
ndb-connectstring=ndb1

/etc/hostsに

192.168.0.x ndb1

などと、名前解決のためのエントリを追加。

管理用設定ファイル作成

ndb1でサンプルをコピー。

cp /usr/share/mysql/ndb-config-2-node.ini /etc/mysql/ndb_mgmd.cnf

/etc/mysql/ndb_mgmd.cnfを以下のように編集。

NoOfReplicas=1
[ndb_mgmd]
id=1
HostName=ndb1
[ndbd]
id=2
HostName=ndb1
[ndbd]
id=3
HostName=ndb2
[mysqld]
HostName=ndb1

その他はそのままで可。

各サービスを起動

初回の場合

ndb1で以下を実行

/etc/init.d/mysql-ndb-mgm start
/etc/init.d/mysql-ndb start-initial

ndb2で以下を実行

/etc/init.d/mysql-ndb start-initial

各ndbが起動した後、ndb1でSQLサーバを起動。

/etc/init.d/mysql start

2回目以降

ndb1で以下を実行

/etc/init.d/mysql-ndb-mgm start
/etc/init.d/mysql-ndb start

ndb2で以下を実行

/etc/init.d/mysql-ndb start

各ndbが起動した後、ndb1でSQLサーバを起動。

/etc/init.d/mysql start

状態を確認

ndb1で以下を実行

ndb_mgm -e show

ndbd 2nodes、ndb_mgmd 1node、mysqld 1nodeが表示されれば起動成功。

停止

MySQL Clusterを停止する場合は、以下のコマンドで停止させる。

ndb_mgm -e shutdown