32.Mysql Cluster
32.Mysql Cluster
Cluster是一组节点的组合。
节点分为数据节点、SQL节点、管理节点。
节点组合在一起可以为应用提供高可用、高性能、可缩放的Cluster数据管理。
数据节点使用NDB存储引擎存储数据。
Mysql Cluster的特点:数据分布式存储,数据冗余策略,节点可扩展的架构。
Mysql Cluster的目的:满足更大规模的应用,提高系统的可靠性和数据的有效性。
Mysql Cluster的现状:性能和可靠性有待完善。
32.1 Mysql Cluster架构
管理节点:通过config.ini配置文件维护管理其他节点。如:配置数据副本的数量、数据节点的位置、SQL节点的位置、为数据或索引分配的内存等。
SQL节点:应用通过SQL节点来访问数据节点,即提供数据访问服务的节点。
数据节点:存放数据的节点。
Mysql Cluster的访问过程:
前台应用一定的负载均衡算法将对数据库的访问分散到不同的SQL节点上;
然后SQL节点对数据节点进行数据访问并从数据节点返回结果;
最后SQL节点将收到的结果返回给前台应用。
管理节点不参与访问过程,只用来对SQL节点和数据节点进行配置管理。
32.2 Mysql Cluster的配置
管理节点1个:172.22.5.201
SQL节点2个:172.22.5.201/202:3331
数据节点2个:172.22.5.201/202 datadir=/home/mysql/data
32.2.1 Mysql Cluster的版本支持
首先下载mysql cluster安装包mysql-cluster-gpl-7.6.9-linux-glibc2.12-x86_64.tar.gz
安装之前,如果之前安装过mysql,那么需要删除相应的各种mysql文件,删除之前请停止mysql服务。
并且不要忘记删除my.cnf这些配置文件。确保删除干净。不然可能会和后面的安装有冲突。
如果是实验,关闭防火墙,实际中,防火墙打开对应端口,{注意实际中需要使用的端口不只有3306端口,还有同步需要使用的1186端口!!!}。
保证服务器之前能互相访问,能ping通。保证固定的ip地址。保证没有别的程序占用需要使用的端口。如3306等。
这些都确认完毕后再进行安装。需要linux基础的命令熟练,需要熟练安装mysql基本版本等操作,因为后序的一些操作我会简单描述,不做过多的说明了。
32.2.2 管理节点配置步骤
将下载后的包上传至服务器/usr/local下
解压
# tar xvf mysql-cluster-gpl-7.6.9-linux-glibc2.12-x86_64.tar.gz
将需要的文件取出
# cd mysql-cluster-gpl-7.6.9-linux-glibc2.12-x86_64
# cp bin/ndb_mgm* /usr/local/bin --拷贝ndb_mgm和ndb_mgmd到/usr/local/bin
# cd /usr/local/bin
# chmod +x ndb_mgm* -- 给ndb_mgm和ndb_mgmd授执行权限
新建配置文件并且初始化管理节点
# mkdir /var/lib/mysql-cluster
# mkdir /usr/local/mysql
# vi /var/lib/mysql-cluster/config.ini --管理节点的配置文件config.ini
下面是配置文件,根据自己的需求修改,首先给出官网的默认配置文件,然后给出我的配置文件,根据我修改的修改即可,别的均可不动。
见default_config.ini和my_config.ini文件。
使用配置文件初始化管理节点
# /usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
出现MySQL Cluster Management Server mysql-5.7.16 ndb-7.5.4
然后就能使用ndbd进去管理了(如果ndbd命令不行,就使用在/usr/local/bin目录下使用ndb_mgm命令)
# ndbd
ndb_mgm>show(使用show命令查看管理情况,当数据节点配置完毕之后,我们再用这个命令查看和管理)
到此为止管理节点配置完毕,接下去配置数据和sql节点
32.2.3 SQL节点和数据节点的配置
新增用户组mysql和用户msyql
# groupadd mysql
# useradd -g mysql -s /bin/false mysql
新建文件夹并赋予权限
# mkdir /var/lib/mysql-cluster
# chown root:mysql /var/lib/mysql-cluster
将下载后的包上传至服务器/usr/local下
解压
# tar xvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz
创建链接方便访问
# ln -s /usr/local/mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64 /usr/local/mysql
初始化数据库(这里要注意,如果你安装的版本和我的不同,数据库初始化的命令使不同的,很多之前的版本会使用:scripts/mysql_install_db --user=mysql来初始化,这个已经被mysql在新的版本中废弃了,所以需要使用下面的命令安装,如果你需要安装别的版本请参考mysql官网的对应版本的安装命令。)
进入刚才创建的目录下
# cd /usr/local/mysql
如果下方这个命令无法使用,那么就进入bin目录下使用./mysqld --initialize进行初始化,总之正常安装mysql如何初始化就如何进行安装就可以了,这里还可以设置安装数据库的data目录等参数这里就不多解释了,网上安装mysql5.7的教程很多。
# mysqld --initialize
如果初始化成功之后,系统会提示一个随机生成的数据库密码,此时需要记住这个密码,之后登录数据库需要使用这个密码!!!
修改权限
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# cp support-files/mysql.server /etc/rc.d/init.d/
# chmod +x /etc/rc.d/init.d/mysql.server
# chkconfig --add mysql.server
配置数据节点
# vi /etc/my.cnf
[mysqld]
ndbcluster
ndb-connectstring=192.168.75.129
[mysql_cluster]
ndb-connectstring=192.168.75.129
其中的IP为管理节点的IP
启动集群节点上面的服务启动mysql(成功会有success)# /etc/init.d/mysql.server start
启动mysql成功之后请自己登录进mysql内然后进行密码修改等操作,就和正常安装完成mysql的操作一样。需要注意的是,集群数据库的密码需要相同哦!
启动ndbd
# /etc/init.d/ndbd --initial
如果上述不行使用绝对路径的这个:
# /usr/local/mysql/bin/ndbd --initial
如果出现下述现象就成功了
2017-03-06 14:04:07 [ndbd] INFO -- Angel connected to '192.168.75.129:1186'
2017-03-06 14:04:07 [ndbd] INFO -- Angel allocated nodeid: 2
最后当所有的节点配置完成,回到管理节点,使用上述说过的show查看,如下的类似显示,证明已经连接完成
ndb_mgm> show
32.3 开始使用Cluster
32.3.1 Cluster的启动
32.3.2 Cluster的测试
32.3.3 Cluster的关闭
32.4 维护Cluster
32.4.1 数据备份
32.4.2 数据恢复
32.4.3 日志管理
32.5 小结
32.Mysql Cluster的更多相关文章
- MySQL Cluster 7.3.5 集群配置实例(入门篇)
一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...
- MySQL Cluster 配置文件(config.ini)详解
MySQL Cluster 配置文件(config.ini)详解 ################################################################### ...
- mysql集群 MySQL Cluster
<?php /* 郑重说明2015年6月11日16:28:14,目前为止MySQL Cluster 社区版不支持INNODB,商业版支持,但是授权价格20W左右,so看此文档之前,考虑下钱 My ...
- MySQL Cluster 7.3.3 官方版本下载
MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用.高冗余版本.它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器.在MyQL 5. ...
- mysql集群之MYSQL CLUSTER
1. 参考文档 http://xuwensong.elastos.org/2014/01/13/ubuntu-%E4%B8%8Bmysql-cluster%E5%AE%89%E8%A3%85%E5%9 ...
- 转centos65安装简测mysql cluster 7.3.7
MySQLCluster是sharednothing分布式架构,ndb存储引擎把数据放置于内存中.可以做到无单点故障.由运行于不同服务器上的的多种进程构成,组件包括SQL节点,NDBD数据节点,管理程 ...
- 如何在Windows系统中配置Mysql群集(Mysql Cluster)
Mysql群集(Cluster)简介 MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的.MySQL群集中有三种节点:管理节点.数据节点和SQL节点.群集中的某计算机可 能是某一种节点,也 ...
- MySQL Cluster测试过程中的错误汇总--ERROR 1296 (HY000)等等
参考资料: http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-privilege-distribution.html http://www.cl ...
- MySQL Cluster初步测试结果汇总图示报告 --> 用mysqlslap与sysbench进行测试
Cluster结构图 测试环境简介 Mysql cluster集群测试环境 4 data node,32G 8核cpu 4 ...
随机推荐
- Excel函数之sumifs应用
这个函数是用来进行多条件求和的一个函数 示例:根据表格求出“鼎盛书店”2012年度所有图书小计的总和,这里就用sumifs计算 首先定位结果输出单元格,祭出函数. sum_range参数就是筛选后需要 ...
- oracle批量删除某个用户下的所有表
打开sql developer,输入如下语句,把USERNAME替换为需要删除的的用户名 然后把查询出来的结果复制出来执行一遍就行了. SELECT 'DROP table '||table_name ...
- bzoj5048: 塌陷的牧场
Description 农夫小Q将他的奶牛们饲养在一个长n宽m的矩形网格牧场中.行从上到下依次编号为1到n,列从左往右依次编号为1 到m.为了防止奶牛们逃跑,小Q在牧场外圈安装了一排电网,只要奶牛走出 ...
- [UE4]Spin Box,数字输入,可拖动
一.Spin Box在Input组下 二.Spin Box的文字样式可以在Spin Box.Display中修改 三.Spin Box事件 1.On Value Changed:值改变时触发 2.On ...
- 8-安装Kafka
1.解压 tar -zxvf kafka_2.11-0.9.0.1.tar -C /opt/app/ 2.改权限 chown -R hadoop:hadoop /opt/app/ 3.修改配置文件 c ...
- vlan划分
1.vlan:虚拟局域网: 作用:划分广播域,抑制广播风暴: 2.vlan技术的优点: 有效控制广播域范围: 增强局域网的安全性: 灵活构建虚拟工作组: 3.vlan划分的方式: 基于端口: 基于MA ...
- 统计uint64的数对应二进制数的1的个数
// pc[i] is the populatio count of ivar pc [256]byte //统计出o~255每个数对应二进制上1的个数func init() { for i ...
- android 开发 View _11_ xml动画
请大家尊重原创者版权,转载请标明出处:http://blog.csdn.net/harvic880925/article/details/39996643 谢谢! 一.概述 Android的anima ...
- rpm梳理
- <记录> curl 封装函数
1. POST请求 参数1 : 请求地址 参数2 : 数组形式的参数 /** * @param string $url post请求地址 * @param array $params * @retur ...