XXXXX
C/C++
XXXXX
C#/.net
XXXXX
js
java
java
开发导航 开发导航 www.endv.cn
天云

mysqlcluster数据库集群的搭建和配置

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

一、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? .
 
  • 1

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)
 
 
 
posted @ 2023-05-09 04:04  Endv  阅读(378)  评论(0编辑  收藏  举报