第一篇: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? mysqlMySQL-client-5.6.33-1.linux_glibc2.5.x86_64php-mysqlnd-5.6.27-1.el6.remi.x86_64MySQL-shared-5.6.33-1.linux_glibc2.5.x86_64MySQL-devel-5.6.33-1.linux_glibc2.5.x86_64MySQL-server-5.6.33-1.linux_glibc2.5.x86_64MySQL-shared-compat-5.6.33-1.linux_glibc2.5.x86_64[root@mysql-2 ~]#[root@mysql-2 ~]# whereis? mysqlmysql: /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 mysqlmysql?????????? 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
- 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? mysqluseradd? 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? mysqluseradd? mysql? -g? mysql
建立文件夹并赋予权限
mkdir? /var/lib/mysql-clusterchown? 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/localscp /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]ndbclusterndb-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> showCluster 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)
第一篇:mysqlcluster数据库集群的搭建和配置相关推荐
- 转-Kafka【第一篇】Kafka集群搭建
转自: https://www.cnblogs.com/luotianshuai/p/5206662.html Kafka[第一篇]Kafka集群搭建 Kafka初识 1.Kafka使用背景 在我们大 ...
- mysql cluster linux_【完美】Mysql-cluster数据库集群搭建(linux)
介绍 <Mysql-cluster数据库集群介绍> 安装系统:Linux CentOS7.4查看是否安装mysqlrpm -qa | grep mysql普通删除rpm -e mysql强 ...
- mysql cluster双机_GitHub - sophys/mysqlha: 博客“Mysql-cluster数据库集群双机HA研究”测试代码...
mysqlha 本代码是基于博客Mysql-cluster数据库集群双机HA研究所写的.测试采用的是32位环境,linux环境为debian,如果是其他系列只需修改部分指令即可.mysql-clust ...
- 大数据第一天 Hadoop01-入门集群环境搭建
Hadoop01-入门&集群环境搭建 今日内容 Hadoop的介绍 集群环境搭建准备工作 Linux命令和Shell脚本增强 集群环境搭建 大数据概述 大数据: 就是对海量 ...
- 【愚公系列】2021年12月 Redis数据库-集群的搭建
文章目录 一.配置机器1 二.配置机器2 三.创建集群 1.数据验证 2.在哪个服务器上写数据:CRC16 3.集群和Python交互 一.配置机器1 172.16.179.130为当前ubuntu机 ...
- Apace Solr集群/SolrCould搭建与配置
简介 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是 ...
- 使用Docker搭建高可用Mysql数据库集群
文章目录 前言 正文 选择哪一种搭建集群的方式 PXC Replication 安装docker Docker操作的基本命令 安装PXC集群 负载均衡 双机热备 具体实现细节 安装keepalived ...
- mysql 数据库集群搭建:(四)pacemaker管理三台maxscale集群,搭建mariadb读写分离中间层集群...
为什么80%的码农都做不了架构师?>>> <mysql 数据库集群搭建:(一)VirtualBox中多台CentOS虚拟机间和windows主机间互通以及访问互联网设置& ...
- MySQL数据库集群的原理与搭建
[1.应用背景] 在最近做的项目中,因为有一个短时间内很多人访问服务,会频繁访问数据库,看到这里不免有些人会想起数据库集群.我们组长也想到了用数据库集群,于是就带着我们几个研究起来了mysql ...
最新文章
- PageHelper分页时超过最大数量的页数仍然返回数据,PageHelper分页失效
- 基于顺序存储结构的图书信息表的逆序存储(C++)
- WPF 4 动态覆盖图标(Dynamic Overlay Icon)
- Android学习小Demo(12)TodoList实现ListView的分组实现
- nand ECC 算法记录
- 路由器、交换机设备管理
- HTML超链接QQ在线聊天
- 冷库用电量计算机方式,冷库耗电量计算方法(附计算公式)
- 研修国学请注意选好教材
- 成功抗“疫”背后的IT科技
- 擎天哥as3教程系列第四回——设计模式运用自如
- Altium Designer基础知识
- 2018 年度读书总结
- 取消google二次验证码要怎么进行处理
- 前端——CSS部分总结
- 江苏旅游职业学院计算机专业,江苏旅游职业学院有哪些专业 附好的重点专业名单...
- 谁说Power不能云化?招商银行实力回应
- 星起航:抖音小店如何对接达人?
- mysql sql wait 写法_MySQL里的wait_timeout
- 刚开车时的一些基本注意点,注意事项。