sawarame
3/12/2014 - 12:12 PM

MySQL-Cluster インストール

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;