11.15 mysql集群搭建

mysql集群搭建

MySQL Cluster包含一个管理结点、两个数据结点、两个SQL结点,机器名称和IP如下所示:

  1. 管理结点 mysql-mgm 192.168.0.1
  2. 数据结点 1 mysql-ndbd-1 192.168.0.2
  3. 数据结点 2 mysql-ndbd-2 192.168.0.3
  4. SQL 结点1 mysql-sql-1 192.168.0.4
  5. 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

最后重启系统

mysql集群搭建

二、配置管理结点(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节点

mysql集群搭建

三、配置数据结点(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

mysql集群搭建

五、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. 查看管理节点,启动成功。

mysql集群搭建


分享到:


相關文章: