常用命令:
授权:grant all privileges on db_name.zhoux to usr_name@'root' identified by 'zhoux';flush privileges
show variables like '%engine%';
show engines;
all status;
ndb_mgm -e "SHUTDOWN"
ndb_mgmd -reload -f /var/lib/mysql-cluster/config.ini --initial
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
第一步:准备环境
三台机器:
10.67.65.15 管理节点
10.67.65.16 数据节点、sql节点
10.67.65.17 数据节点、sql节点
第二步:软件准备
下载cluster的版本https://dev.mysql.com/downloads/cluster/
下载 mysql-cluster-gpl-7.6.10-linux-glibc2.12-x86_64.tar.gz
第三步:安装mysql
tar -xzvf mysql-cluster-gpl-7.6.10-linux-glibc2.12-x86_64.tar.gz
mv ./mysql-cluster-gpl-7.6.10-linux-glibc2.12-x86_64 /usr/local/mysql
第四步:配置管理节点
#将文件ndb_mgm和ndb_mgmd拷贝到/usr/local/bin/目录下
cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/
#ndb_mgm,ndb客户端命令
#ndb_mgmd,ndb管理节点启动命令
#ndb_mgm是ndb_mgmd(MySQL Cluster Server)的客户端管理工具,通过它可以方便的检查Cluster的状态、启动备份、关闭Cluster等功能
创建配置文件
1.创建数据库集群配置文件的目录 mkdir /var/lib/mysql-cluster
2.创建并编辑配置文件 vi /var/lib/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=200M
IndexMemory=64M
[ndb_mgmd]
NodeId=1
hostname=10.67.65.15
datadir=/var/lib/mysql-cluster/
[ndbd]
NodeId=2
hostname=10.67.65.16
datadir=/usr/local/mysql/data/
[ndbd]
NodeId=3
hostname=10.67.65.17
datadir=/usr/local/mysql/data/
[mysqld]
NodeId=4
hostname=10.67.65.16
[mysqld]
NodeId=5
hostname=10.67.65.17
参数说明:
[NDBD DEFAULT]:表示每个数据节点的默认配置,在每个节点的[NDBD]中不用再写这些选项,只能有一个。
NoOfReplicas:副本数量,数据节点数必须是副本数的整数倍。
[NDB_MGMD]:表示管理节点的配置,只有一个,默认的对其他节点的端口是1186,故服务器需要开放1186端口。
[NDBD]:表示每个数据节点的配置,可以有多个,分别写上不同数据节点的IP地址。
[MYSQLD]:表示SQL节点的配置,可以有多个,分别写上不同SQL节点的IP地址。
启动管理节点 :ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
第五步:配置数据节点
1.mysql服务启动时会默认加载/etc/my.cnf作为其配置文件,故需要修改/etc/my.cnf配置文件
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
character_set_server=utf8
ndb-connectstring=10.67.65.15:1186
socket=/usr/local/mysql/sock/mysql.sock
default-storage-engine=ndbcluster
port=3306
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=10.67.65.15:1186
2.安装数据库
2.1更改权限: #分别添加mysql组和mysql用户
groupadd mysql
useradd mysql -g mysql
#进入mysql目录
cd /usr/local/mysql/
#把mysql的目录设置成所有者为root
chown -R root .
#创建data目录,并把data目录设置所有者为mysql
mkdir data
chown -R mysql data
#把mysql的目录改成所属组为mysql
chgrp -R mysql .
2.2 执行安装脚本
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
2.3 设置mysql开机启动
#加入到service服务
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
#加入到开机自启动列表
chkconfig --add mysqld
查询是否启动成功
chkconfig --list
2.4 修改数据库密码
#启动数据库
[root@localhost bin]# service mysqld start
#进入客户端
[root@localhost bin]# ./mysql -uroot -p
Enter password:这里输入之前的临时密码
#修改密码
mysql> set password=password('新密码');
#注意此密码必须要与其他服务器上的数据库设置的密码相同
2.5 启动节点
cd /usr/local/mysql
./bin/ndbd --initial
#非第一次启动,命令如下
./bin/ndbd
第六步 安装sql节点
配置/etc/my.cnf
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
character_set_server=utf8
ndb-connectstring=10.67.65.15:1186
socket=/usr/local/mysql/sock/mysql.sock
default-storage-engine=ndbcluster
port=3306
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=10.67.65.15:1186
default-storage-engine,数据库建表时的默认引擎为ndbcluster,否则数据会同步失败。
安装数据库同上;
启动数据库节点 service mysqld start
第七步 测试
1.用管理节点查看
ndb_mgm
show
查看所有的状态 :all status
关闭所有的数据节点:ndb_mgm -e shutdown
关闭sql节点在每台机器上面:service mysqld stop
1.ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2..bin/ndbd
3.service mysqld start