| 角色 | 主機名 | eth0 (心跳) | eth1 (服務) |
|---|---|---|---|
| Primary | MySQL5 | 192.168.0.50 | 10.4.66.35 |
| Secondary | MySQL6 | 192.168.0.60 | 10.4.66.36 |
| Management | MySQL3 | 192.168.0.3 | - |
虛擬服務 IP:10.4.66.88/24 (eth1),共享儲存:NAS 10.4.66.251:/data 掛載至本地 /data。
# 移除系統自帶 MySQL
rpm -e mysql-server
userdel mysql
mv /etc/my.cnf /etc/my.cnf.bak
# 安裝 MySQL-Max 5.0.18
useradd mysql
tar xzf mysql-max-5.0.18-linux-i686-glibc23.tar.gz
mv mysql-max-5.0.18-linux-i686-glibc23 /usr/local/mysql
cd /usr/local/mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
[mysqld]
datadir=/data/mysqldata
innodb_data_home_dir=/usr/local/mysql/data
innodb_log_group_home_dir=/usr/local/mysql/data
innodb_data_file_path=ibdata1:50M;ibdata2:50M:autoextend
ndbcluster
ndb-connectstring=192.168.0.3
[mysql_cluster]
ndb-connectstring=192.168.0.3
修改啟動腳本 PID 路徑指向本地目錄:
pid_file=/usr/local/mysql/data/mysqlmanager-`hostname`.pid
server_pid_file=/usr/local/mysql/data/`hostname`.pid
Primary 節點:
mount 10.4.66.251:/data /data
mkdir /data/mysqldata
./scripts/mysql_install_db --user=mysql
chown -R mysql.mysql /data/mysqldata/
/etc/rc.d/init.d/mysql.server start
Secondary 節點:相同步驟但不執行 mysql_install_db(共享儲存已有資料)。
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
cat > config.ini <<'EOF'
[NDBD DEFAULT]
NoOfReplicas=2
[NDB_MGMD]
HostName=192.168.0.3
[NDBD]
HostName=192.168.0.1
DataDir=/var/lib/mysql-cluster
[NDBD]
HostName=192.168.0.2
DataDir=/var/lib/mysql-cluster
[MYSQLD]
[MYSQLD]
EOF
ndb_mgmd # 啟動管理服務
兩個叢集節點均執行:
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
/usr/local/mysql/bin/ndbd --initial # 首次或配置變更時
/etc/rc.d/init.d/mysql.server start
ndb_mgm
ndb_mgm> show
# 應顯示 2 個 ndbd 節點、1 個管理節點、2 個 SQL 節點皆連線正常
kill -9 $(pidof ndbd) 模擬節點故障ndbd(不加 --initial)