今天简单做了个mysql cluster的实验,还算顺利,把步骤记录下来,以后有雅兴再来排版整理补充
环境说明:
192.168.6.240 管理节点 sql节点 数据节点
192.168.5.172 sql节点 数据节点
准备:
官网下载二进制包mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
解压
tar zxvf mysql-cluster-gpl-7.4.12-linux-glibc2.5-x86_64.tar.gz
分别放在两台机器 /usr/local/mysql-cluster
配置:
在两台机器上
将export PATH=$PATH:/usr/local/mysql-cluster/bin 加到/etc/profile
创建mysql用户和组
创建数据目录
mkdir -p /mysql/data
修改配置文件/etc/my.cnf[client]
socket=/mysql/data/mysql.sock
[mysqld]
character-set-server = NDBCLUSTERmax_connections=100
basedir=/usr/local/mysql-cluster
datadir=/mysql/data
socket=/mysql/data/mysql.sock
ndbcluster
ndb-connectstring=192.168.6.240
[mysqld_safe]
log-error=/mysql/data/error.err
pid-file=/mysql/data/mysql.pid
[mysql_cluster]
ndb-connectstring=192.168.6.240
初始化数据节点
cd /usr/local/mysql-cluster
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-cluster --datadir=/mysql/data --defaults-file=/etc/my.cnf
在6.240(管理节点)上执行
vim /usr/local/mysql-cluster/config.ini[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=1024M
IndexMemory=1024M
[TCP DEFAULT]
portnumber=2202
[NDB_MGMD]
id=1
hostname=192.168.6.240
datadir=/usr/local/mysql-cluster
[NDBD]
id=2
hostname=192.168.6.240
datadir=/mysql/data
[NDBD]
id=3
hostname=192.168.5.172
datadir=/mysql/data
[MYSQLD]
hostname=192.168.6.240
[MYSQLD]
hostname=192.168.5.172
启动:
节点的启动顺序为管理节点->数据节点->SQL节点
管理节点
ndb_mgmd -f /usr/local/mysql-cluster/comfig.ini
数据节点
ndbd --initial
sql节点
/usr/local/mysqld_safe --user=mysql &
管理维护cluster:
cluster 关闭:
常见管理命令:
日志管理:
备份与恢复:
添加/删除节点
优化:
发现一个问题像innodb、myisam的表,insert 数据是在后面添加的,而ndbcluster是在前面添加的。其原理改天再说明。