Redhat6.5下MySQL5.7集群配置完整版

1、准备三台服务器

2、为三台机器分别安装Linux操作系统(Oracle Linux / RHEL 6.5 x86_64bit)

3、分别IP地址

管理节点 192.168.1.110 (负责管理整个集群)

SQL节点 192.168.1.111 (负责操作数据库)

SQL节点 192.168.1.112 (负责操作数据库)

数据节点 192.168.1.111 (负责存储数据)

数据节点 192.168.1.112 (负责存储数据)

SQL节点和数据节点可以同在一台机器上

4、修改三台服务器的/etc/hosts文件,修改完后的内容如下:

127.0.0.1 localhost localhost.domain

192.168.1.110 node01

192.168.1.111 node02

192.168.1.112 node03

5、修改三台服务器的/etc/sysconfig/nework文件,修改完后的内容分别如下:

NETWORKING=yes

HOSTNAME=node01

GATEWAY=192.168.1.1 (网关地址因所处网络的不同而不同)

NETWORKING=yes

HOSTNAME=node02

GATEWAY=192.168.1.1 (网关地址因所处网络的不同而不同)

NETWORKING=yes

HOSTNAME=node03

GATEWAY=192.168.1.1 (网关地址因所处网络的不同而不同)

6、分别重启三台服务器

7、下载NDB集群软件mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz

集群软件有三种格式:

a、以tar.gz结尾的二制进格式

b、以rpm结尾的rpm包形式

c、以源文件编译安装方式

rpm包安装方式,由于是自动安装的,所以不方便配置软件安装位置和数据存储位置

所以通常选用.tar.gz结尾的二进制格式的安装文件

注意:mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz包含mysql数据库软件和NDB集群软件

8、分别复制mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz文件到三台服务器上的/usr/local/目录下

9、新建用户mysql

# groupadd mysql

# useradd -r -g mysql mysql (由于mysql用户只是用于安装配置NDB集群或mysql软件,而不用用于登陆系统)

(所以以-r参数来创建mysql用户,并且不用为该用户设置密码)

10、分别在三台服务器上解压mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz文件

# cd /usr/local

# tar zxvf mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz

# ln -s mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64 mysql

# chown -R mysql.mysql mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64

# cd mysql

# chown -R mysql.mysql .

配置完成以后,结果如下

wKioL1lAeTqheYK1AAEU8vBufL0149.png-wh_50

11、在192.168.1.111和192.168.1.112两个数据节点(两台服务器)上安装mysql数据库软件

由于是二进制安装,所以mysql数据库软件就安装在/usr/local/mysql下,

但数据库的数据可以存放到其它地方,如/u01/app/mysql/data/下面

注意:以下命令在两台数据节点服务器上都要执行

# mkdir -p /u01/app/mysql/data

# chown -R mysql.mysql /u01

# cd /usr/local/mysql

# scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/u01/app/mysql/data –user=mysql

执行完这条命令以后,数据库的数据文件(包括mysql,test , performance_schema等数据库)就被安装到

/u01/app/mysql/data目录下

# cd /u01/app/mysql/bin

# cp ndbd /usr/local/bin/

# cp ndbmtd /usr/local/bin/

然后将启动数据库服务的启动文件复制到/etc/rc.d/init.d/目录下

# cp support-files/mysql.server /etc/rc.d/init.d/mysqld (改名)

执行完上面这条命令以后,就可以使用service mysqld start | stop | restart命令来管理数据库服务

# cp my.cnf /etc/my.cnf

# vi /etc/my.cnf

[mysqld]

ndbcluster

basedir=/usr/local/mysql

datadir=/u01/app/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql_cluster]

ndb-connectstring=192.168.1.110

再次注意:以上命令在两台数据节点服务器上都要执行

阅读更多