博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL cluster 7.2集群部署配置
阅读量:6955 次
发布时间:2019-06-27

本文共 2857 字,大约阅读时间需要 9 分钟。

1. MySQL cluster简介

MySQL cluster主要有三种类型节点:


Data node,数据节点将保存数据库,它会自动复制所有的数据节点


Daemon node,守护节点相当于是SQL数据库和客户端之间的接口,它提供从数据节点查询等操作,类似于"网关";


Management node,管理节点,用以监控和管理整个集群。


2. 部署配置方法

本文介绍使用2台服务器(100与101)部署最简单的集群方法:

其中

100上部署Data node,Daemon node及Management node;


101上部署Data node,Daemon node。


(2.1-2.3为所有节点均需执行的步骤,2.4和2.5为相关节点需执行的步骤)


2.1下载MySQL cluster最新版本7.2.10,解压移动至 /usr/local/mysql目录下


wget

tar -zxv -f mysql-cluster-gpl-7.2.10-linux2.6-x86_64.tar.gz


mv mysql-cluster-gpl-7.2.10-linux2.6-x86_64 /usr/local/mysql


2.2 添加mysql用户组及用户,修改相关目录权限


groupadd mysql

useradd mysql -g mysql

cd /usr/local

chown -R mysql:mysql mysql

2.3 安装MySQL cluster

cd mysql

scripts/mysql_install_db --user=mysql

2.4 配置管理节点

#创建目录

mkdir -p  /var/lib/mysql-cluster


#修改配置文件

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


#config.ini内容如下

[ndbd default]

#NoOfReplicas表示数据份数,如果为1,会有数据节点单点故障

NoOfReplicas=2

DataMemory=200M

IndexMemory=30M

[ndb_mgmd]

id=1

hostname=192.168.85.100

datadir=/var/lib/mysql-cluster/

[ndbd]

id=2

hostname=192.168.85.101

datadir=/usr/local/mysql/data

[ndbd]

id=3

hostname=192.168.85.100

datadir=/usr/local/mysql/data

[mysqld]

id=4

hostname=192.168.85.100

[mysqld]

id=5

hostname=192.168.85.101

[mysqld]

id=6

2.5 配置数据节点和守护节点

#拷贝文件,创建相关目录


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


mkdir -p /var/mysql/data


mkdir -p /var/mysql/logs


# 修改配置文件

vim /etc/my.cnf


#my.cnf内容如下:

[mysqld]

ndbcluster

datadir=/usr/local/mysql/data

basedir=/usr/local/mysql

socket=/tmp/mysql.sock

port=3307

ndb-connectstring=192.168.85.100

[mysql_cluster]

ndb-connectstring=192.168.85.100


2.6 启动节点

启动需要按照如下顺序进行:Management Node > Data Node > SQL Node


2.6.1 管理结点启动

/usr/local/mysql/bin/ndb_mgmd   -f   /var/lib/mysql-cluster/config.ini


其他操作:

# 查看是否有端口号为1186的监听端口

netstat -lntpu

# 查看集群状态

/usr/local/mysql/bin/ndb_mgm -e show

# 管理节点检验

/usr/local/mysql/bin/ndb_mgm

# 管理节点关闭

/usr/local/mysql/bin/ndb_mgm -e shutdown

2.6.2 数据节点启动

# 只是在第一次启动或在备份/恢复或配置变化后重启ndbd时,才加–initial参数!

/usr/local/mysql/bin/ndbd --initial

# 正常启动方式

/usr/local/mysql/bin/ndbd

2.6.3 SQL节点启动

service mysqld start

# sql 节点关闭

service mysql stop

# 检验mysql是否运行

/etc/rc.d/init.d/mysqld status

# 为sql指定密码

/usr/local/mysql/bin/mysqladmin -u root password 'new-password'

/usr/local/mysql/bin/mysqladmin -u root -h 'host' password 'new-password'

# 启动命令行窗口

/usr/local/mysql/bin/mysql -u root –p

3. 验证MySQL cluster功能

下面在服务器上A上新建表并插入数据,在服务器B上验证MySQL cluster是否将数据同步。

3.1 在服务器A上执行如下语句

#进入sql监视器,注意后续的命令均已;或\g结尾

/usr/local/mysql/bin/mysql


#查看数据库

Show databases;


#使用test库

Use test;


#查看test库,显示为空

Show test;


#创建person表

create table person(id int,name varchar(40),birthday date)ENGINE=ndb;


#插入数据

Insert into person values(1,'Kate',19821212);


#查看表中数据

Select * from test.person;


3.2 在服务器B上执行如下语句

#进入sql监视器

/usr/local/mysql/bin/mysql

#查看表中数据,可以看到数据已经同步

Select * from test.person;

本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1722017,如需转载请自行联系原作者
你可能感兴趣的文章
常见设计模式的定义,应用场景和方法
查看>>
ES6——生成器
查看>>
多地图架构设计
查看>>
剪切板粘贴上传图片功能的javascript实现
查看>>
Friday Q&A 2015-12-11:Swift 中的弱引用
查看>>
UINavigationBar的继承与定制
查看>>
Binary Tree Maximum Path Sum leetcode
查看>>
一天一点linux(8):ubuntu安装后ssh无法连接怎么解决?
查看>>
Substring with Concatenation of All Words
查看>>
搭建AngualarJS开发环境
查看>>
我的前端开发准则
查看>>
如何助力企业 APP 在竞争中占据先机?
查看>>
[译]在 React.js 中使用 ES6+
查看>>
协同过滤算法
查看>>
移动端原生JS实现手指跟随的触控滑动
查看>>
js初级应用之svg实现环形进度条
查看>>
ASP.NET CORE下运行CMD命令
查看>>
requests库核心API源码分析
查看>>
C语言程序员不会告诉你的14个工具和插件 | 收藏 ...
查看>>
2019年人工智能硬件与应用大趋势
查看>>