1.环境说明:CentOS7(64位) + MySQL Cluster 7.3.7,3台机器(2+2+3),节点分布情况:
- MGM1:192.168.16.130
- MGM2: 192.168.16.131
- NDBD1:192.168.16.131
- NDBD2:192.168.16.132
- SQL1: 192.168.16.131
- SQL2: 192.168.16.132
- SQL3: 192.168.16.130
2.MySQL Cluster安装包准备
http://dev.mysql.com/downloads/cluster/ ,选择 Linux - Generic 下面的 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz这个安装包!(如果是32位系统下载:mysql-cluster-gpl-7.3.7-linux-glibc2.5-i686.tar.gz)
http://dev.mysql.com/downloads/cluster/ ,选择 Linux - Generic 下面的 mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz这个安装包!(如果是32位系统下载:mysql-cluster-gpl-7.3.7-linux-glibc2.5-i686.tar.gz)
3.环境清理及准备(在各节点服务器上都要执行)
#清除MySQL旧版本,首先使用如下命令来清理之前操作系统自带的MySQL安装:
- yum -y remove mysql
- rpm -qa | grep mysql*
- rpm -e --nodeps mysql-*
- #关闭防火墙 禁止开机启动
- systemctl stop firewalld.service
- systemctl disable firewalld.service
- #cd /usr/local/src
- #rz #选择刚下载的mysql-Cluster 安装包
- #tar -zxf mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz
- #mv mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64 mysqlc #非必须步骤,我是为了方便
5.开始安装
5.1管理节点安装(192.168.16.130,192.168.16.131)
- #创建安装目录
- #mkdir -p /usr/local/mysql/bin
- #mkdir -p /usr/local/mysql/ndbdata #为避免和data下的数据混合,单独创建的数据文件夹
- #添加执行文件路径
- #vim ~/.bash_profile
- #PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
- #拷贝执行文件
- #cd mysqlc #如果上面你没执行mv此处应该是:cd mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64
- #cp bin/ndb_mgmd /usr/local/mysql/bin
- #cp bin/ndb_mgm /usr/local/mysql/bin
- #创建配置文件目录及文件
- #mkdir /usr/local/mysql/etc
- #vi /usr/local/mysql/etc/config.ini
- [ndb_mgmd default]
- datadir = /usr/local/mysql/ndbdata
- [ndbd default]
- NoOfReplicas = 2
- DataMemory = 80M
- IndexMemory = 18M
- datadir = /usr/local/mysql/ndbdata
- [ndb_mgmd]
- NodeId = 1
- HostName = 192.168.16.130
- [ndb_mgmd]
- NodeId = 2
- HostName = 192.168.16.131
- [ndbd]
- NodeId = 11
- HostName = 192.168.16.131
- [ndbd]
- NodeId = 12
- HostName = 192.168.16.132
- [mysqld]
- NodeId = 81
- HostName = 192.168.16.131
- [mysqld]
- NodeId = 82
- HostName = 192.168.16.132
- [mysqld]
- NodeId = 83
- HostName = 192.168.16.130
- [mysqld]
- NodeId = 85
- #删除自带的 /etc/my.cnf 【切记:一定要删除掉! 因为ndb_mgmd启动的时候,也会加上/etc/my.cnf的配置内容,干扰我们,所以要删除它,如果此处要配置成数据节点或者sql节点可以不操作】
- #rm -rf /etc/my.cnf
- #mv /usr/local/src/mysqlc /usr/local/mysql
- #cd /usr/local/mysql
- #mkdir ndbdata
- #新建mysql用户及用户组,授权
- #groupadd mysql
- #useradd -g mysql -s /usr/sbin/nologin mysql
- #chown -R mysql:mysql /usr/local/mysql
- #安装 Mysql-Cluster
- #./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/ndbdata
- #安装 perl-module
- #yum install -y perl-Module-Install.noarch
- #再次安装 Mysql-Cluster
- #./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/ndbdata
- #vim /etc/my.cnf
- ndbcluster
- ndb-connectstring = 192.168.16.130
- [mysql_cluster]
- ndb-connectstring = 192.168.16.130
5.3安装配置SQL节点(192.168.16.131,192.168.16.132)
- #cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
- #vim /etc/my.cnf
- [mysqld]
- basedir = /usr/local/mysql
- datadir = /usr/local/mysql/ndbdata
- socket=/tmp/mysql.sock
6.重启机器(所有机器上执行)
- #reboot
7.启动节点
启动需要按照如下顺序进行:
Management Node > Data Node > SQL Node
Management Node > Data Node > SQL Node
7.1启动管理节点
- #rm /usr/local/mysql/mysql-cluster/ndb_1_config.bin.1 #不是必须的,如果config.ini有改动则要加上
- #--initial 首次加载/usr/local/mysql/etc/config.ini文件有改变,其它时候不要加,除非是在备份、恢复或配置变化后重启时,其他时候不要加,不然数据就清空。。。
- #ndb_mgmd -f /usr/local/mysql/etc/config.ini --initial
- #ndb_mgmd -f /usr/local/mysql/etc/config.ini
- #查看集群状态
- #ndb_mgm
- #>show
7.2启动数据节点
- #/usr/local/mysql/bin/ndbd --initial #(第一次启动必须添加选项,另外备份/恢复,修改配置文件也需要执行)
- #/usr/local/mysql/bin/ndbd #不是第一次启动需要执行的命令
7.3启动sql节点
- service mysqld start
8.查看集群状态
切换到管理节点
- #查看集群状态
- #ndb_mgm
- #>show
如下图所示:
完美成功!
9.
关闭集群
关闭顺序:SQL节点->管理节点
- #关闭SQL节点
- service mysqld stop
- #关闭管理节点
- ndb_mgm〉 shutdown