暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 sg1234 2023-05-17
254


一、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 ~]#

————————————————
版权声明:本文为CSDN博主「虎纠卫」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/csolo/article/details/87086086
复制



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)
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论