第一篇:mysqlcluster数据库集群的搭建和配置

  • Post author:
  • Post category:mysql


当系统的规模达到一定程度后,数据库在系统中慢慢成为一个瓶颈,因此需要对数据库进行扩展。数据库集群时一种解决数据库负荷的有效手段,本篇主要是描述了数据库集群如何搭建和配置的过程。


一、mysql集群的规划

mysql集群由管理节点、数据节点、mysql节点组成。一般情况下数据节点和mysql可以放在统一服务器,管理节点在另外一个服务器。本例中采用三台服务器,一台作为管理节点,另外两台同时作为数据和mysql节点,可以用下图表示:

要搭建mysql的集群,首先就需要检查原系统是否有安装mysql,将原系统的mysql卸载后再安装mysql集群版,本文中的各个节点的系统都为centos 6.5。


二、mysql 的卸载

卸载的主要步骤如下:

1、收集系统的mysql信息

2、关闭mysql相关服务

3、卸载mysql软件

4、删除mysql残留的文件


2.1收集系统的mysql信息

[root@mysql-2 ~]# rpm  -qa | grep  -i  mysql

MySQL-client-5.6.33-1.linux_glibc2.5.x86_64

php-mysqlnd-5.6.27-1.el6.remi.x86_64

MySQL-shared-5.6.33-1.linux_glibc2.5.x86_64

MySQL-devel-5.6.33-1.linux_glibc2.5.x86_64

MySQL-server-5.6.33-1.linux_glibc2.5.x86_64

MySQL-shared-compat-5.6.33-1.linux_glibc2.5.x86_64

[root@mysql-2 ~]#

[root@mysql-2 ~]# whereis  mysql

mysql: /usr/bin/mysql /usr/lib64/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

[root@mysql-2 ~]#

[root@mysql-2 ~]#  chkconfig --list | grep -i mysql

mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@mysql-2 ~]#

[root@mysql-2 ~]#


2.2关闭MySQL服务

[root@mysql-2 ~]# service mysql  stop

Shutting down MySQL..[  OK  ]


2.3卸载mysql


  1. rpm –e –nodeps MySQL-devel-5.6.23-1.linux_glibc2.5
 


2.4删除文件

首先查找系统的mysql文件和目录,然后删除这些文件和目录

find / -name mysql


三、安装管理节点

管理节点使用的服务器为192.168.136.215.


3.1、下载介质

安装文件的获取有两个途径,一个是从mysql网站上获取,

https://dev.mysql.com/downloads/cluster/7.5.html#downloads

如下图所示:

第二个途径是从镜像获取:


http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/

从这个url中找到符合自己操作系统的集群安装文件mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64.tar.gz,下载后,拷贝安装文件到215服务器上,目录可以自己指定,我使用的目录是 /home/mysql-cluster

解压后,在本地有一个目录 mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64,进入目录后,结构如下图所示:


3.2创建用户组和用户

使用如下指令创建用户和用户组:

groupadd  mysql

useradd  mysql  -g  mysql


3.3部署安装文件

使用如下命令将解压后的目录重命名:

mv  mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64  /usr/local/mysql-cluster

进入到/uar/local/mysql-cluster目录,将管理程序拷贝到 bin目录:

cp bin/ndb_mgm*  /usr/local/bin

修改权限: chmod +x ndb_mgm*


3.4初始化管理节点:

初始化管理节点,需执行如下命令: /usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini –initial

在/usr/local/bin目录下执行 ndb_mgm命令后,在命令行窗口执行  show

至此管理节点安装完成。


四、安装数据和mysql节点

安装数据和mysql节点,使用的软件和管理节点一致,并且用户和用户组也和前面一致。数据和mysql节点使用的服务器分别为 192.168.136.216和192.168.136.217


4.1、创建用户组和用户

groupadd  mysql

useradd  mysql  -g  mysql

建立文件夹并赋予权限

mkdir  /var/lib/mysql-cluster

chown  root:mysql  /var/lib/mysql-cluster


4.2、部署软件

将上一章节的软件,传到  /usr/local下,可以使用scp命令:

scp /home/mysql-cluster/mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64.tar.gz root@192.168.136.216:/usr/local

scp /home/mysql-cluster/mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64.tar.gz root@192.168.136.217:/usr/local

进入 /usr/local目录 将上传到216和217主机的压缩包解压缩:

tar  -vxf   mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64.tar.gz

解压缩后会产生mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64目录,将其重命名:

mv  mysql-cluster-gpl-7.5.12-linux-glibc2.12-x86_64  mysql


4.3、初始化mysql

在/usr/local/mysql 目录下,执行 ./bin/mysqld –initialize 命令,会进行mysql的初始化操作

初始化命令的最后一行是密码,需要记住这个密码


4.4、修改目录权限

使用如下指令修改目录权限:

chown -R root:mysql  .


4.5、拷贝mysql启动命令和加入到系统服务

[root@mysql-2 mysql]# cp  support-files/mysql.server  /etc/rc.d/init.d/

[root@mysql-2 mysql]#

[root@mysql-2 mysql]# chmod +x  /etc/rc.d/init.d/mysql.server

[root@mysql-2 mysql]#

[root@mysql-2 mysql]# chkconfig  --add  mysql.server


4.6、配置数据节点:

修改mysql的配置文件:vim  /etc/my.cnf

[mysqld]

ndbcluster

ndb-connectstring=192.168.136.215



[mysql_cluster]

ndb-connectstring=192.168.136.215


4.7、初始化数据节点:

[root@mysql-2 mysql]# /usr/local/mysql/bin/ndbd –initial

检查进程


4.8启动mysql

/etc/init.d/mysql.server  start

注意 data目录的用户和用户组都是mysql

否则启动会报告如下异常

启动完成后,切换到 215上查看,可以看到全部节点都启动


4.9添加系统环境变量


把mysql/bin目录添加到环境变量

echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile && source /etc/profile


四、验证


4.1、使用navicat工具创建mysql连接


4.2、单节点上创建数据库

在其中一个节点(mysql节点上)创建数据库educloud

刷新一下navicat工具中的数据库连接

可以看到集群里数据库的信息都更新了


4.3、创建表

在任意一个节点上的数据库educloud里面创建表:

注意建表的引擎需要用ENGINE=NDBCLUSTER;

查询另外一个节点可以看到也同样生成了表


五、启动和关闭

启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。


5.1、管理节点启停




启动命令:

/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

关闭命令:

/usr/local/bin/

ndb_mgm -e shutdown

注:本例中管理节点为192.168.136.215


5.2、数据和mysql节点上启动

启动ndbd和MySQL(关闭命令:/etc/init.d/mysql.server stop)

数据节点启动:/usr/local/mysql/bin/ndbd

Mysql启动:/etc/init.d/mysql.server start

Mysql启动关闭: /etc/init.d/mysql.server stop

注:本例中管理节点为192.168.136.216, 192.168.136.217


5.3、管理节点查看状态

执行指令:/usr/local/bin/


ndb_mgm




后进入交互界面:

ndb_mgm> show

Cluster Configuration

---------------------

[ndbd(NDB)]     2 node(s)

id=3    @192.168.136.216  (mysql-5.7.24 ndb-7.5.12, Nodegroup: 0, *)

id=5    @192.168.136.217  (mysql-5.7.24 ndb-7.5.12, Nodegroup: 0)



[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.136.215  (mysql-5.7.24 ndb-7.5.12)



[mysqld(API)]   2 node(s)

id=6    @192.168.136.216  (mysql-5.7.24 ndb-7.5.12)

id=7    @192.168.136.217  (mysql-5.7.24 ndb-7.5.12)



版权声明:本文为csolo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。