MySQL Cluster包含一个管理结点、两个数据结点、两个SQL结点,机器名称和IP如下所示:
- 管理结点 mysql-mgm 192.168.0.1
- 数据结点 1 mysql-ndbd-1 192.168.0.2
- 数据结点 2 mysql-ndbd-2 192.168.0.3
- SQL 结点1 mysql-sql-1 192.168.0.4
- SQL 结点2 mysql-sql-2 192.168.0.5
一、公共配置
请在五个虚拟机上分别配置此处的配置项。
1. 安装虚拟机
虚拟机操作系统安装CentOS 6.5的x86_64版本,使用NAT网络,并且还要安装vmware-tools,具体安装方法此处不详述。
2. 拷贝mysql cluster
3. 下载以下版本的MySQL-Cluster:
http://dev.mysql.com/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz
下载得到的压缩包拷贝至虚拟机的/root/Downloads目录,然后在shell中运行以下命令:
cd /root/Downloads
tar -xvzf mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64.tar.gz
mv mysql-cluster-gpl-7.3.4-linux-glibc2.5-x86_64 /usr/local/mysql
注:mv 将安装目标文件夹重命名为
/usr/local/mysql
3. 关闭安全策略
关闭iptables防火墙(或者打开防火墙的1186、3306端口),在Shell中运行以下命令:
chkconfig --level 35 iptables off
关闭SELinux,在Shell中运行以下命令:
gedit /etc/selinux/config
将config文件中的SELINUX项改为disabled,修改后的config文件的内容如下:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
最后重启系统
二、配置管理结点(192.168.0.1)
1. 配置config.ini配置文件
在shell中运行以下命令:
cd /usr/local/mysql
mkdir /var/lib/mysql-cluster
cd /var/lib/mysql-cluster
gedit config.ini
配置文件config.ini内容如下:
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
NodeId=1
hostname=192.168.0.1
datadir=/var/lib/mysql-cluster
[ndbd]
NodeId=2
hostname=192.168.0.2
datadir=/usr/local/mysql/data
[ndbd]
NodeId=3
hostname=192.168.0.3
datadir=/usr/local/mysql/data
[mysqld]
NodeId=4
hostname=192.168.0.4
[mysqld]
NodeId=5
hostname=192.168.0.5
2. 安装管理结点
安装管理节点,不需要mysqld二进制文件,只需要MySQL Cluster服务端程序(ndb_mgmd)和监听客户端程序(ndb_mgm)。在shell中运行以下命令,将安装文件夹中需要的文件取出:
cp /usr/local/mysql/bin/ndb_mgm* /usr/local/bin
cd /usr/local/bin
chmod +x ndb_mgm*
使用配置文件初始化管理节点
# /usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
出现:
MySQL Cluster Management Server mysql-5.7.16 ndb-7.5.4
然后就能使用ndbd进去管理了(如果ndbd命令不行,就使用在/usr/local/bin目录下使用ndb_mgm命令)
# ndbd
ndb_mgm>show
(使用show命令查看管理情况,当数据节点配置完毕之后,我们再用这个命令查看和管理)
到此为止管理节点配置完毕,接下去配置数据和sql节点
三、配置数据结点(192.168.0.2、192.168.0.3)
1. 添加mysql组和用户
在shell中运行以下命令:
groupadd mysql
useradd -g mysql mysql
2. 配置my.cnf配置文件
3. 在shell中运行以下命令:
gedit /etc/my.cnf
配置文件my.cnf的内容如下:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/sock/mysql.sock
explicit_defaults_for_timestamp=true
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[mysql_cluster]
ndb-connectstring=192.168.0.1
3. 创建系统数据库
4. 在shell中运行以下命令:
cd /usr/local/mysql
mkdir sock
/>
4. 设置数据目录
在shell中运行以下命令:
chown -R root .
chown -R mysql.mysql /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/sock
chgrp -R mysql .
5. 配置MySQL服务
6. 在shell中运行以下命令:
cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server
启动mysql成功之后请自己登录进mysql内然后进行密码修改等操作,就和正常安装完成mysql的操作一样。需要注意的是,集群数据库的密码需要相同哦!
启动ndbd#
/etc/init.d/ndbd --initial
如果上述不行使用绝对路径的这个:
/usr/local/mysql/bin/ndbd --initial
四、配置SQL结点(192.168.0.4、192.168.0.5)
1. 添加mysql组和用户
2. 在shell中运行以下命令:
groupadd mysql
useradd -g mysql mysql
2. 配置my.cnf配置文件
3. 在shell中运行以下命令:
gedit /etc/my.cnf
配置文件my.cnf的内容如下:
[client]
socket=/usr/local/mysql/sock/mysql.sock
[mysqld]
ndbcluster
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/sock/mysql.sock
explicit_defaults_for_timestamp=true
ndb-connectstring=192.168.0.1
[mysql_cluster]
ndb-connectstring=192.168.0.1
3. 创建系统数据库
4. 在shell中运行以下命令:
cd /usr/local/mysql
mkdir sock
/>
4. 设置数据目录
5. 在shell中运行以下命令:
chown -R root .
chown -R mysql.mysql /usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/sock
chgrp -R mysql .
5. 配置MySQL服务
在shell中运行以下命令:
cp support-files/mysql.server /etc/rc.d/init.d/
chmod +x /etc/rc.d/init.d/mysql.server
chkconfig --add mysql.server
启动集群节点上面的服务启动mysql(成功会有success)# /etc/init.d/mysql.server start
五、Cluster环境启动
注意启动顺序:
首先是管理节点,然后是数据节点,最后是SQL节点。
1. 启动管理结点
在shell中运行以下命令:
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
还可以使用ndb_mgm来监听客户端,如下:
ndb_mgm
2. 启动数据结点
首次启动,则需要添加--initial参数,以便进行NDB节点的初始化工作。在以后的启动过程中,则是不能添加该参数的,否则ndbd程序会清除在之前建立的所有用于恢复的数据文件和日志文件。
/usr/local/mysql/bin/ndbd --initial
如果不是首次启动,则执行下面的命令。
/usr/local/mysql/bin/ndbd
3. 启动SQL结点
若MySQL服务没有运行,则在shell中运行以下命令:
/etc/init.d/mysql.server start
或
/usr/local/mysql/bin/mysqld_safe --user=mysql &
4. 启动测试
5. 查看管理节点,启动成功。
閱讀更多 SNAP視頻 的文章