MySQL Cluster
安装配置管理节点
-
下载官方最新稳定版
https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.5/mysql-cluster-gpl-7.5.9-linux-glibc2.12-x86_64.tar.gz -
解压,取出文件,复制
- cp bin/ndb_mgm* /usr/local/bin/
- chmod +x /usr/local/bin/ndb_mgm*
-
新建配置文件
mkdir -p /data/mysql/{conf,mysql-cluster}
- vi
conf/config.ini
-
初始化:
ndb_mgmd -f /data/mysql/conf/config.ini --configdir=/data/mysql/mysql-cluster/ --ndb-nodeid=1 [--initial]
- 正常启动:先
rm -rf /data/mysql/mysql-cluster/ndb_1_config.bin.1
- 正常启动:先
conf/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=512M
IndexMemory=18M
[ndb_mgmd]
HostName=192.168.1.199
NodeId=1
DataDir=/data/mysql/mysql-cluster
[ndbd]
HostName=192.168.1.191
NodeId=2
DataDir=/data/mysql/data
[ndbd]
HostName=192.168.1.192
NodeId=3
DataDir=/data/mysql/data
[mysqld]
[mysqld]
安装配置数据和mysql节点
-
mkdir -p /data/mysql/{data,tmp,log}
-
用户和组
- groupadd mysql
- useradd -g mysql -s /sbin/nologin mysql
- chown -R mysql:mysql /data/mysql
mv mysql-cluster-gpl-7.5.9-linux-glibc2.12-x86_64/ /usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
cd /etc/init.d/
chmod 755 mysql
chkconfig mysql on -
修改 /etc/my.cnf
-
Mysql初始化:
/usr/local/mysql/bin/mysqld --initialize
记住初始密码:bDhV?QraT3&x
?? -
启动ndb节点:
/usr/local/mysql/bin/ndbd [--initial]
–help -
启动Mysql服务:
service mysql start
-
环境变量:
vi /etc/profile
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
-
进入mysql:
mysql -uroot -p
set password = password('12345678');
** 其他见:LINUX > MySQL > MySQL
-
启动需要按照如下顺序进行:
Management Node -> Data Node -> SQL Node
my.cnf
[client]
default-character-set=utf8
socket=/data/mysql/tmp/mysql.sock
[mysqld]
port = 3307
user=mysql
basedir=/usr/local/mysql
datadir=/data/mysql/data
socket=/data/mysql/tmp/mysql.sock
pid-file=/data/mysql/tmp/mysql.pid
log-error=/data/mysql/log/mysql.log
character_set_server=utf8
ndbcluster
ndb-connectstring=192.168.1.199
[mysql_cluster]
ndb-connectstring=192.168.1.199
查看集群状态
ndb_mgm
显示:show
关闭管理:shutdown
SHOW ENGINE NDBCLUSTER STATUS;
测试
数据库表引擎必须为:ndb
或ndbcluster
create table test1(id int,name varchar(10)) engine=ndb;
create table test2(id int,name varchar(10)); # 不同步
对表结构和数据进行修改,集群均同步成功