mysql集群初始化配置_集群Cluster MySQL的安装配置和使用

集群Cluster MySQL的安装配置和使用

发布时间:2020-05-28 14:20:03

来源:亿速云

阅读:233

作者:鸽子

MySQL Cluster MySQL集群

基本概念:

“NDB” 是一种“内存中”的存储引擎,它具有可用性高和数据一致性好的特点。

MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。MySQL Cluster的NDB存储引擎包含完整的数据集,仅取决于 Cluster本身内的其他数据。

管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令“ndb_mgmd”启动的。

数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令“ndbd”启动的。

SQL节点:这是用来访问 Cluster数据的节点。对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令“mysqld -ndbcluster”启动的,或将“ndbcluster”添加到“my.cnf”后使用“mysqld”启动。

管理服务器(MGM节点)负责管理 Cluster配置文件和 Cluster日志。 Cluster中的每个节点从管理服务器检索配置数据,并请求确定管理服务器所在位置的方式。当数据节点内出现新的事件时,节点将关于这类事件的信息传输到管理服务器,然后,将这类信息写入 Cluster日志。

集群配置概述:

安装版本:mysql cluster 7.3.2

操作系统 :centos6.3(X64)

软件名称 :mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64.tar.gz (通用版)

管理节点IP:192.168.0.202

数据节点-SQL节点IP:192.168.0.203

数据节点-SQL节点IP:192.168.0.204

安装依赖包:yum install -y glibc perl libaio-devel

x32位系统要安装兼容库组:yum groupinstall “Compatibility libraries”

一、管理节点安装配置

1、安装mysql-clustergroupadd mysql

useradd -g mysql -s /sbin/nologin mysql

tar -zxvf mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64. tar .gz

mv mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64 /usr/local/mysql-cluster

chown -R root.mysql /usr/local/mysql/

chown -R mysql.mysql /usr/local/mysql/data/

/usr/local/mysql/scripts/mysql_install_db --basedir= /usr/local/mysql --datadir= /usr/local/mysql/data --user=mysql & #初始化数据库

cp -rf /usr/local/mysql/bin/ndb_mgm * /usr/local/bin/ #复制ndb节点管理命令到本地,方便使用

2、修改mysql主配置文件vi /etc/my .cnf

[MYSQLD]

user = mysql

socket = /tmp/mysql .sock

basedir = /usr/local/mysql #安装目录

datadir = /usr/local/mysql/data #数据库存放目录

character-sets-server=UTF8

ndbcluster #运行NDB存储引擎

ndb-connectstring=192.168.0.202

lower_case_table_names=1 #表名是否区分大小写1为不区分,不然linux下表名是区分大小写的

[MYSQL_CLUSTER]

ndb-connectstring=192.168.0.202 #Mysql Cluster管理节点IP

3、创建mysql集群配置文件mkdir /var/lib/mysql-cluster

vi /var/lib/mysql-cluster/config .ini

[ndbd default]

NoOfReplicas=2 #定义在Cluster环境中相同数据的份数,最大为4

DataMemory=256M #分配的数据内存大小,根据本机服务器内存适量来分配

IndexMemory=256M #设定用于存放索引(非主键)数据的内存段大小

#一个NDB节点能存放的数据量是会受到DataMemory和IndexMemory两个参数设置的约束,两者任何一个达到限制数量后,都无法再增加能存储的数据量。如果继续存入数据系统会报错“table is full”。

[ndb_mgmd]

nodeid=1

hostname =192.168.0.202

datadir= /var/lib/mysql-cluster/

[ndbd]

nodeid=2

hostname =192.168.0.203

datadir= /usr/local/mysql/data

[ndbd]

nodeid=3

hostname =192.168.0.204

datadir= /usr/local/mysql/data

[mysqld]

nodeid=4

hostname =192.168.0.203

[mysqld]

nodeid=5

hostname =192.168.0.204

保存退出!chown mysql.mysql /var/lib/mysql-cluster/config .ini

二、两台数据节点和SQL节点配置相同

1、安装mysql-clustertar -zxvf mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64. tar .gz

mv mysql-cluster-gpl-7.3.2-linux-glibc2.5-x86_64 /usr/local/mysql

groupadd mysql

useradd -g mysql -s /sbin/nologin mysql

chown -R root.mysql /usr/local/mysql

chown -R mysql.mysql /usr/local/mysql/data

/usr/local/mysql/scripts/mysql_install_db --basedir= /usr/local/mysql --datadir= /usr/local/mysql/data --user=mysql & #初始化数据库

cp /usr/local/mysql/support-files/mysql .server /etc/init .d /mysqld

cp /usr/local/mysql/support-files/medium .cnf /etc/my .cnf

chmod +x /etc/init .d /mysqld

2、修改mysql配置文件vi /etc/my .cnf

[MYSQLD]

user=mysql

character_set_server=utf8

ndbcluster

ndb-connectstring=192.168.0.202

default-storage-engine=ndbcluster #设置默认是NDB存储引擎

datadir= /usr/local/mysql/data

basedir= /usr/local/mysql

[MYSQL_CLUSTER]

ndb-connectstring=192.168.0.202 #mysql cluster 管理节点IP

三、测试(先关闭三台服务器的防火墙(IPTABLES)与 Selinux)

1、启动管理节点ndb_mgmd -f /var/lib/mysql-cluster/config .ini --initial

netstat -tuplna | grep 1186 #默认连接端口1186,启动成功

tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 1369 /ndb_mgmd

#--initial:第一次启动时加上,其它时候不要加,不然会数据清空,除非是在备份、恢复或配置变化后重启时。

如果启动出现报错:把config.ini里设置的nodeid都给删除即可!

2、启动两台数据节点和SQL节点

数据节点:/usr/local/mysql/bin/ndbd --initial

SQL节点:bin/mysqld_safe --user=mysql & 或 service mysqld start

3、查看集群状态

ndb_mgm -e show #显示管理节点和数据节点则配置成功

4、创建一个数据库验证是否同步

mysql -u root -p

Mysql>create database  test ;

Mysql>use  test ;

Mysql>create table abc ( id  int) engine=ndbcluster; #指定数据库表的引擎为NDB,否则同步失败

Mysql>Insert into abc ()values (1);

Mysql> select  * from abc;

#此时看两个数据是否数据一致,如果一致说明集群已经成功!

注意事项:

1.在建表的时候一定要用ENGINE=NDB或ENGINE=NDBCLUSTER指定使用NDB集群存储引擎,或用ALTER TABLE选项更改表的存储引擎。

2.NDB表必须有一个主键,因此创建表的时候必须定义主键,否则NDB存储引擎将自动生成隐含的主键。

3.Sql节点的用户权限表仍然采用MYISAM存储引擎保存的,所以在一个Sql节点创建的MySql用户只能访问这个节点,如果要用同样的用户访问别的Sql节点,需要在对应的Sql节点追加用户。

四、管理和维护命令

关闭mysql集群:ndb_mgm -e shutdown

重启mysql集群:ndb_mgmd -f /var/lib/mysql-cluster/config.ini

重启数据节点:/usr/local/mysql/bin/ndbd

启动SQL节点:/usr/local/mysql/bin/mysqld_safe --user=mysql & 或 service mysqld restart

查看mysql状态:ndb_mgm -e show

启动顺序:

管理节点 -> 数据节点 -> SQL节点

关闭顺序:

SQL节点 -> 数据节点 -> 管理节点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/264034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在一个类型的继承体系中,成员的构造顺序

先看代码,写出结果 class A { public A() { PrintFields(); } public virtual void PrintFields(){} } class B:A { int x1; int y; public B…

IntelliJ IDEA+Mysql connecter/j JDBC驱动连接

在IntelliJ IDEA中用connecter/j jdbc驱动连接MYSQL 以下是解决过程,待整合。。。有点懒,有空再改 官方文档:https://www.cnblogs.com/cn-chy-com/p/10145690.html 创建了mysql新用户:https://blog.csdn.net/weixin_38091140/arti…

成长的路上,痛并快乐着

异地求学七年,从地图的的西北部跨越到地图的南部。一路行走着,一路成长着,有痛,有快乐。或许,痛并快乐着也是一种生活的姿态。或许,有过痛的青春才深刻,而深刻的背后即是思考、理解、包容与成熟…

mysql类exadata功能_Exadata V2数据库一体机的几大致命缺点

昨天客户语重心长的告诉我,他们准备把Exadata V2 上的核心应用迁移走,客户在09年就开始用Exadata,是不是国内第一家我不知道,但至少应该是用于生产的第一批。但是这2年来因为Exadata折腾了无数次,现在终于不想折腾了。…

奇门千金诀-占病

八诈含义值符;阳症。               腾蛇;惊恐、噩梦、遗精。太阴;肺痨、骨虚。            六合;中风、麻木。             勾陈、白虎;翻胃、呕吐、伤亡、道路。   朱雀…

css动画(transition/transform/animation)

在开发中,一个好的用户操作界面,总会夹杂着一些动画。css用对少的代码,来给用户最佳的体验感,下面我总结了一些css动画属性的使用方法及用例代码供大家参考,在不对的地方,希望大佬直接拍砖评论。 1 transit…

mysql gtid寻找位置_【MySQL】UUID与GTID以及如何根据GTID找寻filename和position

Open Group于1997年10月发布,UUID遵从此协议。UUID被设计成一个在空间和时间上的唯一值。两次调用的UUID将产生两个不同的值,即使这些调用是在两个不连接的,彼此独立的计算机。由一串数字表示aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeformat:mys…

javascript实例_网页空降与抖动

2007-07-03 23:54<html><body OnLoad"drop(400)">玄魂从天而降拉!!!!!!!!!!<script>function drop(n) {if(self.moveBy){ self.moveBy (0,-900); for(i n; i > 0; i--){ self.moveBy(0,3);self.moveBy(3,0); } for(j 50; j > 0…

邻接矩阵实现图的深度优先搜索(1)

邻接矩阵实现图的深度优先搜索(1) /************************************************************/ /********************图的深度优先搜索***********************/ /********************用邻接矩阵来实现***********************/ /************************************…

(56)zabbix Screens视图配置

screen翻译成中文为“屏幕”&#xff0c;在超市、单位等等地方都比较常见到监控视频&#xff0c;视频上有多块小视频&#xff0c;实际上zabbix screen和这个功能类似。你可以设置多个screen&#xff0c;每个screen可以显示特定信息&#xff0c;例如某台主机的cpu、内存、硬盘、…

spacy库的安装与使用_为 SpaCy 提供的中文数据模型

SpaCy 中文模型为 SpaCy 提供的中文数据模型. 模型目前还处于 beta 公开测试的状态 。在线演示基于 Jupyter notebook 的在线演示在 。 特性部分 王小明在北京的清华大学读书 这个 Doc 对象的属性信息:NER (New!)部分 王小明在北京的清华大学读书 这个 Doc 对象的 NER 信息:开始…

ASP对很长的文章做分页输出

阅读: 1 评论: 0 作者: eng308 发表于 2010-02-03 10:33 原文链接利用统计文章字数&#xff0c;然后达到一定字数就截断输出&#xff0c;但是分页的内容就会在莫名其妙的地方截断&#xff0c;不是很友好。很简单&#xff0c;在要截断的地方附近找下面的符号:&#xff1b;’”&a…

RH124-3 目录结构_转

在linux里安装的时候&#xff0c;是可以指定某分区装在某文件夹里目录意义 /bin 存放命令&#xff0c;不可以在装系统单独挂载分区/home/dev 存放硬件设备 不可以单独挂载分区/boot 500M 和系统启动相关文件 不能放在逻辑卷里面/etc 不可以单独创建分区/lib /lib64 存放模块/me…

软件性能测试的本质

为什么80%的码农都做不了架构师&#xff1f;>>> ‍ 淘宝网每年的双11活动都是对其服务器性能的挑战。因为在这一天所有商品半价&#xff0c;购物的用户量剧增。做为淘宝网的高层更多的关心在线用户数&#xff0c;用户交易量&#xff0c;总交易金额等&#xff0c;做…

AGILE

AGILE CMMI的理解在最佳实践的态度上非常类似自下而上的草根性,相比更侧重完善自身理论的CMMI更具实用性软件工程工具的作用理想和现实,艺术与工业期望与代价,灵活性,易用性CMMI实施为何没有软件工程工具的适用性评估?有没有建议换工具的?它与制造业以SAP这样的工具来做ERP实…

算法整理

1.冒泡排序 $arr array(5,2,6,2,3,1); for($i0;$i<count($arr);$i){ for($jcount($arr);$j>$i;$j--){ if($arr[$i]>$arr[$j-1]){ $b $arr[$i]; $arr[$i] $arr[$j-1]; $arr[$j-1] $b; } } } 2.快速排序&#xff0c; 取一个值&#xff0c;比他大的放一边&#xff0c…

无废话XML--XML约束(DTD)

基本术语一、序言Prolog&#xff1a;包括XML声明(XML Declaration)和文档类型声明(Document Type Declaration)。 二、良构(well-formed 规范的)&#xff1a;符合W3C定义的XML文档。 为什么XML需要验证&#xff1f; 对XML文件施加额外的约束&#xff0c;以便交流。举个…

c# 流,字节数组及字符串之间的转换

//1.流转换为字节数组&#xff0c;fileUpload为.net上传控件Stream stream fileUpload.FileContent;byte[] fileBuffer new byte[stream.Length];stream.Read(fileBuffer,0,(int)stream.Length);//2.字节数组转换为字符串string fileBody System.Text.Encoding.Default.GetS…

mysql周报内容范文_Mysql各种报表查询含实例,日报,周报,月报,时间差自动计算...

public List retrieve(IReport report) {List list new ArrayList();Map map new HashMap();// 设置结束日期if (null ! report.getEndTime()) {map.put(ReportMeta.PROP_ENDTIME, report.getEndTime());// 设置名称if (null ! report.getName()) {map.put(ReportMeta.PROP_N…

路由器01---k2刷Pandora

1.固件 固件(Firmware)就是写入EPROM&#xff08;可擦写可编程只读存储器&#xff09;或EEPROM(电可擦可编程只读存储器)中的程序。 对于独立可操作的电子产品&#xff0c;固件一般指它的操作系统&#xff08;“担任着一个数码产品最基础、最底层工作的软件才可以称之为固件”&…