以前紹介した記事「CentOS6でMySQL Clusterを試してみる(インストール編)」にて、
MySQL Clusterのインストールができたので、今回は単一サーバへの実装を試してみます。

○MySQLの停止とNDB用ディレクトリの作成

# service mysql stop
Shutting down MySQL.. SUCCESS!
# mkdir /var/lib/ndb

○Hostsファイルに各ノードを登録

# cat /etc/hosts
...
10.160.102.121 mgmd-1 ndbd-1 mysqld-1

○設定ファイルの調整

# cat /etc/my.cnf
...
[mysqld]
ndbcluster

[mysql_cluster]
ndb_connectstring=mgmd-1

[ndb_mgmd]
config_file=/var/lib/ndb/config.ini
config_dir=/var/lib/ndb
# cat /var/lib/ndb/config.ini
[ndb_mgmd]
hostname=mgmd-1
datadir=/var/lib/ndb
NodeId=1

[ndbd default]
noofreplicas=1
datadir=/var/lib/ndb

[ndbd]
hostname=ndbd-1
NodeId=11

[mysqld]
hostname=mysqld-1
NodeId=21

○ndb_mgmdの起動

# ndb_mgmd
MySQL Cluster Management Server mysql-5.5.29 ndb-7.2.10
# ndb_mgm -e show
Connected to Management Server at: mgmd-1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 1 node(s)
id=11 (not connected, accepting connect from ndbd-1)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @127.1.0.1 (mysql-5.5.29 ndb-7.2.10)
[mysqld(API)] 1 node(s)
id=21 (not connected, accepting connect from mysqld-1)

○ndbdの起動

# ndbd
2013-02-12 01:07:50 [ndbd] INFO -- Angel connected to 'mgmd-1:1186'
2013-02-12 01:07:50 [ndbd] INFO -- Angel allocated nodeid: 11
# ndb_mgm -e show
Connected to Management Server at: mgmd-1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 1 node(s)
id=11 @10.160.102.121 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.160.102.121 (mysql-5.5.29 ndb-7.2.10)
[mysqld(API)] 1 node(s)
id=21 (not connected, accepting connect from mysqld-1)

○mysqldの起動

# service mysql start
Starting MySQL.... SUCCESS!
# ndb_mgm -e show
Connected to Management Server at: mgmd-1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 1 node(s)
id=11 @10.160.102.121 (mysql-5.5.29 ndb-7.2.10, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.160.102.121 (mysql-5.5.29 ndb-7.2.10)
[mysqld(API)] 1 node(s)
id=21 @10.160.102.121 (mysql-5.5.29 ndb-7.2.10)

○動作確認

# mysql -u root -p
...
mysql> create database test;
Query OK, 1 row affected (0.05 sec)
mysql> use test;
Database changed
mysql> create table test (id int not null primary key) engine=ndb;
Query OK, 0 rows affected (0.07 sec)
mysql> insert into test values (1),(2),(3),(4);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> select * from test;
+----+
| id |
+----+
| 3 |
| 1 |
| 2 |
| 4 |
+----+
4 rows in set (0.00 sec)

次回は複数サーバ(EC2)を使って試してみます。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら