赞
踩
当系统的规模达到一定程度后,数据库在系统中慢慢成为一个瓶颈,因此需要对数据库进行扩展。数据库集群时一种解决数据库负荷的有效手段,本篇主要是描述了数据库集群如何搭建和配置的过程。
mysql集群由管理节点、数据节点、mysql节点组成。一般情况下数据节点和mysql可以放在统一服务器,管理节点在另外一个服务器。本例中采用三台服务器,一台作为管理节点,另外两台同时作为数据和mysql节点,可以用下图表示:
要搭建mysql的集群,首先就需要检查原系统是否有安装mysql,将原系统的mysql卸载后再安装mysql集群版,本文中的各个节点的系统都为centos 6.5。
卸载的主要步骤如下:
1、收集系统的mysql信息
2、关闭mysql相关服务
3、卸载mysql软件
4、删除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 ~]#
-
[root@mysql-2 ~]# service mysql stop
Shutting down MySQL..[ OK ]
首先查找系统的mysql文件和目录,然后删除这些文件和目录
find / -name mysql
管理节点使用的服务器为192.168.136.215.
安装文件的获取有两个途径,一个是从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,进入目录后,结构如下图所示:
使用如下指令创建用户和用户组:
- groupadd mysql
-
- useradd mysql -g mysql
使用如下命令将解压后的目录重命名:
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*
初始化管理节点,需执行如下命令: /usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
在/usr/local/bin目录下执行 ndb_mgm命令后,在命令行窗口执行 show
至此管理节点安装完成。
安装数据和mysql节点,使用的软件和管理节点一致,并且用户和用户组也和前面一致。数据和mysql节点使用的服务器分别为 192.168.136.216和192.168.136.217
- groupadd mysql
-
- useradd mysql -g mysql
建立文件夹并赋予权限
- mkdir /var/lib/mysql-cluster
-
- chown root:mysql /var/lib/mysql-cluster
将上一章节的软件,传到 /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
在/usr/local/mysql 目录下,执行 ./bin/mysqld --initialize 命令,会进行mysql的初始化操作
初始化命令的最后一行是密码,需要记住这个密码
使用如下指令修改目录权限:
chown -R root: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
修改mysql的配置文件:vim /etc/my.cnf
- [mysqld]
-
- ndbcluster
-
- ndb-connectstring=192.168.136.215
-
-
-
- [mysql_cluster]
-
- ndb-connectstring=192.168.136.215
[root@mysql-2 mysql]# /usr/local/mysql/bin/ndbd –initial
检查进程
/etc/init.d/mysql.server start
注意 data目录的用户和用户组都是mysql
否则启动会报告如下异常
启动完成后,切换到 215上查看,可以看到全部节点都启动
把mysql/bin目录添加到环境变量
echo export PATH=$PATH:/usr/local/mysql/bin >> /etc/profile && source /etc/profile
在其中一个节点(mysql节点上)创建数据库educloud
刷新一下navicat工具中的数据库连接
可以看到集群里数据库的信息都更新了
在任意一个节点上的数据库educloud里面创建表:
注意建表的引擎需要用ENGINE=NDBCLUSTER;
查询另外一个节点可以看到也同样生成了表
启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。
启动命令:
/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
关闭命令:
/usr/local/bin/ndb_mgm -e shutdown
注:本例中管理节点为192.168.136.215
启动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
执行指令:/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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。