Mysql分布式集群
一、准备
集群:
192.168.1.191 管理节点
192.168.1.192 管理节点
192.168.1.193 数据节点和API节点
192.168.1.194 数据节点和API节点
安装包:mysql-cluster-gpl-7.5.5-linux-glibc2.5-x86_64.tar.gz
二、安装
安装mysql管理节点
cd mysql-cluster-gpl-7.5.-linux-glibc2.-x86_64/ sudo cp bin/ndb_mgm* /usr/local/bin cd /usr/local/bin sudo mkdir /var/lib/mysql-cluster sudo mkdir /usr/local/mysql sudo vi /var/lib/mysql-cluster/config.ini sudo chmod -r 777 /var/lib/mysql-cluster/
sudo chmod -R 777 /usr/local/mysql/
config.ini的如下:
[ndbd default]
NoOfReplicas=
DataMemory=512M
IndexMemory=18M [ndb_mgmd]
HostName=192.168.1.191
DataDir=/var/lib/mysql-cluster
[ndb_mgmd]
HostName=192.168.1.192
DataDir=/var/lib/mysql-cluster
[ndbd]
HostName=192.168.1.193
DataDir=/var/lib/mysql-cluster [ndbd]
HostName=192.168.1.194
DataDir=/var/lib/mysql-cluster
191上执行:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
192上执行:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini
成功如下:

测试:
cd /usr/local/bin ndb_mgm show #为了保证数据节点等和管理节点通信 需要开启 1186 端口

安装mysql数据节点
192.168.1.193 数据节点
192.168.1.194 数据节点
sudo groupadd mysql sudo useradd -g mysql -s /bin/false mysql sudo mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64/ /usr/local/mysql
sudo mkdir /var/lib/mysql-cluster
sudo chown root:mysql /var/lib/mysql-cluster
sudo chmod -R 777 /var/lib/mysql-cluster/
sudo vi /etc/my.cnf
my.cnf内容如下:
[client]
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
ndbcluster
ndb-connectstring=192.168.1.191
ndb-connectstring=192.168.1.192
[mysql_cluster]
ndb-connectstring=192.168.1.191
ndb-connectstring=192.168.1.192
cd /usr/local/mysql/ bin/ndbd --initial #数据节点初始化

测试:在管理节点上
cd /usr/local/bin ndb_mgm show

安装API(mysqld)节点
初始化mysql
cd /usr/local/mysql/ ./bin/mysqld --initialize 会生成临时密码,记好临时密码,之后需要用到

support-files/mysql.server start #启动mysql
support-files/mysql.server status #查看mysql状
测试:在管理节点上
cd /usr/local/bin ndb_mgm show

最后的设置:在管理节点上
cd /usr/local/bin ndb_mgm shutdown #关掉 关掉管理节点和数据节点的服务

cd /usr/local/mysql
./bin/mysql -u root -p #随后输入密码 密码是之前生成的临时随机密码
修改root 密码,改远程访问,外部连接时 需要开启 3306端口

SET PASSWORD = PASSWORD('your new password');
use mysql;
update user set host = '%' where user = 'root'; #然后改远程访问
FLUSH PRIVILEGES;

启动集群:
ps:在数据节点没有全部启动之前, 不要启动API集群
#启动管理节点
/usr/local/bin/ ndb_mgmd #启动数据节点
cd /usr/loca/mysql/
./bin/ndbd #启动api节点
cd /usr/loca/mysql/
./support-files/mysql.server start
测试:
test同步成功,test01同步失败

默认数据库自动同步,创建表的时候主要选择数据引擎选择 ndbcluster 才会同步

暴力测试:
各种 kill 进程 ,只要有一个数据节点存活,数据都会同步和保存,当然前提是只要有个API节点存活,才可以访问。
Mysql分布式集群的更多相关文章
- MySQL分布式集群之MyCAT(转)
原文地址:http://blog.itpub.net/29510932/viewspace-1664499/ 隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间 ...
- 如何搭建一个 MySQL 分布式集群
1.准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的 ...
- MySQL分布式集群之MyCAT(三)rule的分析【转】
首先写在最前面,MyCAT1.4的alpha版本已经发布了,这里面修复了不少的bug,也完善了一细节,之前两篇博客已经做了一些修改 ---------------------------------- ...
- MySQL分布式集群之MyCAT(二)【转】
在第一部分,有简单的介绍MyCAT的搭建和配置文件的基本情况,这一篇详细介绍schema的一些具体参数,以及实际作用 首先贴上自己测试用的schema文件,双引号之前的反斜杠不会消除,姑 ...
- MySQL分布式集群之MyCAT(一)简介【转】
隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间,感觉社区版的MySQL在各个方面都逊色于Oracle,Oracle真的好方便!好了,不废话,这次准备记录一些 ...
- 抄来的,占个位儿【百度架构师是怎样搭建MySQL分布式集群】
1.准备集群搭建环境 使用6台虚拟机来搭建MySQL分布式集群,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster ...
- mysql分布式集群实现原理
做MySQL集群,例如:利用mysql cluster ,mysql proxy,mysql replication,drdb等等 有人会问mysql集群,根分表有什么关系吗?虽然它不是实际意义上的分 ...
- 【Database】Mysql分布式集群学习笔记
一.sql 的基本操作 (2018年11月29日,笔记) (1)数据库相关操作 创建数据库.查看数据库.删除数据库 #. 创建数据库 create database mytest default ch ...
- MySQL Cluster 集群
本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...
随机推荐
- maven dependency中provided和compile的区别
重点:这个项目打成war包时,scope=provided的jar包,不会出现在WEB-INFO/lib目录下,而scope=compile的jar包,会放到WEB-INFO/lib目录 scope= ...
- 数组转JSON对象
代码: function arrayToJson(arr){ var js={}; for(var i=0;i<arr.length;i++){ js[arr[i].name]=arr[i].v ...
- Python-09-文件处理
一.文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 #1. 打开文件,得到文件句柄并赋值给一个变量 f=open('a.txt','r',encoding='u ...
- 解决sublime text3运行PyQt5代码不能显示窗口的问题
如题,在sublime中写了GUI代码,Ctrl+B能运行,但是就是不能显示窗口. 解决办法: 找到路径C:\Users\superlee\AppData\Roaming\Sublime Text ...
- RabbitMQ延迟消息队列实现定时任务完整代码示例
- JMeter中文乱码的解决
对于JMeter中文乱码分为两部分: 1.请求(request):由于引用了csv文件当csv文件编码与JMeter不统一可能造成服务器收到数据的中文乱码 2.返回(response):由于服务器返回 ...
- python_二叉树简单实现
今日头条面试题,先做下: 二叉树代码实现 class Node: def __init__(self,item): self.item = item self.child1 = None self.c ...
- 转:JVM的符号引用和直接引用
在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号引用替换为直接引用. 1.符号引用(Symbolic References): 符号引用以一组符号来描述所引用的目标,符号可 ...
- Python之TensorFlow的模型训练保存与加载-3
一.TensorFlow的模型保存和加载,使我们在训练和使用时的一种常用方式.我们把训练好的模型通过二次加载训练,或者独立加载模型训练.这基本上都是比较常用的方式. 二.模型的保存与加载类型有2种 1 ...
- .Net Core 注入学习——注册服务
解析 .Net Core 注入——注册服务发表于:2017-10-23 10:47 作者:行走即歌 来源:51Testing软件测试网采编字体:大 中 小 | 上一篇 | 下一篇 |我要投稿 | 推荐 ...