MySQL-Cluster インストール
# rpmパッケージのダウンロード
wget http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/MySQL-Cluster-gpl-7.3.4-1.el6.x86_64.rpm-bundle.tar
# tarアーカイブの展開
tar xvf MySQL-Cluster-gpl-7.3.4-1.el6.x86_64.rpm-bundle.tar
# mysql-libs削除
yum remove mysql-libs
# 展開されたrpmパッケージのインストール
rpm -ivh MySQL-Cluster-shared-compat-gpl-7.3.4-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-shared-gpl-7.3.4-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-devel-gpl-7.3.4-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-client-gpl-7.3.4-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-server-gpl-7.3.4-1.el6.x86_64.rpm
rpm -ivh MySQL-Cluster-embedded-gpl-7.3.4-1.el6.x86_64.rpm
# 下記エラーが発生したらlibaio入れる
エラー: 依存性の欠如:
libaio.so.1()(64bit) は MySQL-Cluster-server-gpl-7.3.4-1.el6.x86_64 に必要とされています
libaio.so.1(LIBAIO_0.1)(64bit) は MySQL-Cluster-server-gpl-7.3.4-1.el6.x86_64 に必要とされています
libaio.so.1(LIBAIO_0.4)(64bit) は MySQL-Cluster-server-gpl-7.3.4-1.el6.x86_64 に必要とされています
# libaio入れる
yum install libaio
yum install libaio-devel
# 設定ファイル変更
vi /usr/my.cnf
# --- 下記設定追加
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.1,192.168.1.2
[mysql_cluster]
ndb-connectstring=192.168.1.1,192.168.1.2
# 設定ファイル作成
vi /var/lib/mysql/config.ini
# --- 下記行追加
[ndb_mgmd default]
[ndb_mgmd]
id=1
HostName=192.168.1.1
[ndb_mgmd]
id=2
HostName=192.168.1.2
[ndbd default]
NoOfReplicas=2
DataDir=/var/lib/mysql-cluster/
DataMemory=128M
IndexMemory=20M
MaxNoOfTables=256
MaxNoOfOrderedIndexes=512
MaxNoOfUniqueHashIndexes=256
MaxNoOfAttributes=8192
FragmentLogFileSize=256M
NoOfFragmentLogFiles=4
RedoBuffer=32M
LockPagesInMainMemory=1
ODirect=1
[ndbd]
id=41
HostName=192.168.1.1
[ndbd]
id=42
HostName=192.168.1.2
[mysqld default]
[mysqld]
id=51
HostName=192.168.1.1
[mysqld]
id=52
HostName=192.168.1.2
# データノード用ディレクトリ作成
mkdir /var/lib/mysql-cluster
chown mysql:mysql /var/lib/mysql-cluster
# 管理ノード起動
ndb_mgmd -f /var/lib/mysql/config.ini --initial
# データノード起動
ndbd --nostart
# SQLノード起動
/etc/init.d/mysql start
# rootパスワード設定
/usr/bin/mysql_secure_installation
# インストール後の初期パスワードは「cat ~/.mysql_secret」で確認できる
# ログファイルグループの作成
CREATE LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_1.dat' INITIAL_SIZE 16M ENGINE ndb;
ALTER LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_2.dat' INITIAL_SIZE 16M ENGINE ndb;
ALTER LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_3.dat' INITIAL_SIZE 16M ENGINE ndb;
ALTER LOGFILE GROUP lg_1 ADD UNDOFILE 'undo_4.dat' INITIAL_SIZE 16M ENGINE ndb;
# テーブルスペースの作成
CREATE TABLESPACE ts_1 ADD DATAFILE 'data_1.dat' USE LOGFILE GROUP lg_1 INITIAL_SIZE 25G ENGINE ndb;
ALTER TABLESPACE ts_1 ADD DATAFILE 'data_2.dat' INITIAL_SIZE 25G ENGINE ndb;
ALTER TABLESPACE ts_1 ADD DATAFILE 'data_3.dat' INITIAL_SIZE 25G ENGINE ndb;
ALTER TABLESPACE ts_1 ADD DATAFILE 'data_4.dat' INITIAL_SIZE 25G ENGINE ndb;
# テーブルスペースを使用したテーブルの作成
CREATE TABLE test (c1 INT) TABLESPACE ts_1 STORAGE DISK ENGINE ndb;
# テーブルスペースの削除
ALTER TABLESPACE ts_1 DROP DATAFILE 'data_1.dat' ENGINE ndb;
ALTER TABLESPACE ts_1 DROP DATAFILE 'data_2.dat' ENGINE ndb;
ALTER TABLESPACE ts_1 DROP DATAFILE 'data_3.dat' ENGINE ndb;
ALTER TABLESPACE ts_1 DROP DATAFILE 'data_4.dat' ENGINE ndb;
DROP TABLESPACE ts_1 ENGINE ndb;
# ログファイルグループの削除
DROP LOGFILE GROUP lg_1 ENGINE ndb;