一、环境准备(Centos7,mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz)
卸载以前安装的Mysql 或者 mariadb
yum -y remove mysql*
yum -y remove mariadb*
二、停用安全策略seLinux,关闭防火墙或者开启3306,1186端口
建议使用防火墙保证安全性
关闭防火墙 systemctl stop firewalld 或者 chkconfig --level 35 iptables off
禁用防火墙 systemctl disable firewalld
永久禁用安全策略(需要重启)
vi /etc/selinux/config
SELINUX=disabled

(centos6)
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #DROP关闭
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2202 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1186 -j ACCEPT
/etc/init.d/iptables restart
setenforce 0
(centos7)
firewall-cmd --add-port=2202/tcp --zone=public --permanent
firewall-cmd --add-port=3306/tcp --zone=public --permanent
firewall-cmd --add-port=1186/tcp --zone=public --permanent
firewall-cmd --reload
setenforce 0
三、安装
管理节点:192.168.1.140
数据节点1:192.168.1.130
数据节点2:192.168.1.135
sql节点1:192.168.1.130
sql节点2:192.168.1.135

每个节点上
压缩包上传解压 比如上传至/usr/local
tar -xzvf mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64.tar.gz
3.1 管理节点安装

cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64
cd bin
#ndb管理节点相关文件
cp ndb_mgm* /usr/local/bin
cd /usr/local/bin
#增加执行权限
chmod +x ndb_mgm*
#创建配置文件
mkdir /var/lib/mysql-cluster
mkdir /usr/local/mysql
vi /var/lib/mysql-cluster/config.ini
#默认配置
[ndbd default]
NoOfReplicas=2 #数据节点数量
DataMemory=5120M #存储大小,内存的合适大小
IndexMemory=128M #索引存储大小
ServerPort=1186 #端口默认1186

#管理节点
[ndb_mgmd]
nodeid=1 #节点ID
HostName=192.168.1.140 #管理节点地址
DataDir=/var/lib/mysql-cluster #(内存)数据目录

#数据节点
[ndbd]
nodeid=21 #节点ID
HostName=192.168.1.130 #数据节点地址
DataDir=/var/lib/mysql-cluster #(内存)数据目录

[ndbd]
nodeid=22
HostName=192.168.1.135
DataDir=/var/lib/mysql-cluster

#sql节点
[mysqld]
nodeid=31
HostName=192.168.1.130 #sql节点地址,可访问
[mysqld]
nodeid=32
HostName=192.168.1.135

3.2 数据节点和sql节点安装配置

3.2.1 数据节点配置

#拷贝文件
cd mysql-cluster-gpl-7.5.4-linux-glibc2.5-x86_64
cd bin
cp ndbd /usr/local/bin
#创建目录(注意和管理节点配置文件保持一致)
mkdir -p /var/lib/mysql-cluster
#创建配置文件
vi /etc/my.cnf
[mysql_cluster] #配置数据节点连接管理节点
ndb-connectstring=192.168.1.140

3.2.2 sql节点配置

#新增用户组mysql和用户msyql
groupadd mysql
useradd -g mysql -s /bin/false mysql
#将解压的文件重命名
mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64 /usr/local/mysql
#初始化数据库
cd /usr/local/mysql/bin/
./mysqld --initialize #(旧版本scripts/mysql_install_db --user=mysql)注意记录临时密码
#修改权限

cd ..
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
#申明是sql节点,其中的IP为管理节点的IP
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.140

注意:数据节点和sql节点同一台机器按照以下配置即可
#新增用户组mysql和用户msyql
groupadd mysql
useradd -g mysql -s /bin/false mysql
#新建文件夹并赋予权限
#mkdir /var/lib/mysql-cluster
#chown root:mysql /var/lib/mysql-cluster
#将解压的文件重命名
mv mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64 /usr/local/mysql
#初始化数据库
cd /usr/local/mysql/bin/
./mysqld --initialize #(旧版本scripts/mysql_install_db --user=mysql)注意记录临时密码
#修改权限

cd ..
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
#申明是sql节点,其中的IP为管理节点的IP
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.140
#申明是数据节点,其中的IP为管理节点的IP
[mysql_cluster]
ndb-connectstring=192.168.1.140
四、启动和关闭(注意下面顺序不能变)
启动:(相关可执行文件路径视安装路径而定)
管理节点--》数据节点--》sql节点 注意--initial参数在初始化或者需要恢复或者配置文件发生变化是需要
管理节点:/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
数据节点:/usr/local/mysql/bin/ndbd --initial
sql节点:service mysql start 或者service mysqld start
关闭:
sql节点--》管理节点
sql节点 关闭sql服务即可
管理节点:/usr/local/bin/ndb_mgm
mgm>shutdown
查看状态:
管理节点:/usr/local/bin/ndb_mgm
mgm>show #所有节点连接正常时即正常
五、改密并开启远程访问:sql节点
初始密码登录
mysql -u root -p
set password=password('root@neusoft');
grant all privileges on *.* to root@'%' identified by 'root@neusoft';
FLUSH PRIVILEGES;
六、注意
NDB 默认引擎 ndbcluster,否则不同步
可在配置成功后my.cnf 添加default-storage-engine=ndbcluster
七、附加
添加可执行文件路径
添加执行文件路径
#当前用户(/etc/profile 所有用户生效)
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin

mysql 官方集群的更多相关文章

  1. 多图文,详细介绍mysql各个集群方案

    目录 多图文,详细介绍mysql各个集群方案 一,mysql原厂出品 二,mysql第三方优化 三,依托硬件配合 四,其它 多图文,详细介绍mysql各个集群方案 集群的好处 高可用性:故障检测及迁移 ...

  2. MySQL分布式集群之MyCAT(转)

    原文地址:http://blog.itpub.net/29510932/viewspace-1664499/ 隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间 ...

  3. MySQL数据库集群进行正确配置步骤

    MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号:T | T 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站 ...

  4. MySQL Cluster 集群

    本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...

  5. Facebook揭密:如何让MySQL数据库集群自主运行

    Facebook运行着全球最大的MySQL数据库集群,该集群分布在两个大洲上的多个数据中心中数以千计的服务器上.让人不解的是,Facebook只动用了一个很小的团队来管理这个庞大的MySQL数据库集群 ...

  6. 超详细的 Redis Cluster 官方集群搭建指南

    今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,rub ...

  7. 基于keepalived搭建MySQL热机集群

    背景 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,M ...

  8. 如何搭建一个 MySQL 分布式集群

    1.准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的 ...

  9. MySQL分布式集群之MyCAT(三)rule的分析【转】

    首先写在最前面,MyCAT1.4的alpha版本已经发布了,这里面修复了不少的bug,也完善了一细节,之前两篇博客已经做了一些修改 ---------------------------------- ...

随机推荐

  1. Netflix中的负载均衡策略

    Spring Cloud的负载均衡策略可以通过配置Ribbon搞定,也就是注入实现com.netflix.loadbalancer.IRule的类,当前包含的策略包括 1.RandomRule 随机策 ...

  2. 【绝密】为什么现在的CAN收发器通信距离越来越短?

    [绝密]为什么现在的CAN收发器通信距离越来越短?   CAN收发器的改良和隔离器件引入,大大提高了通信的可靠性,但同时也引入了额外的延时,导致通信距离变短,或总线错误帧增加,本文以1Mbps波特率下 ...

  3. 【CSS3】特殊的属性归纳(二)

    这篇是看到博友 酷赛瑞 整理的文章才发现还有这么多有用的css3属性可以用. 附上链接:http://www.cnblogs.com/cosiray/archive/2012/12/06/280477 ...

  4. 解决 an app id with identifier is not available. please enter a different string. xcode 7.3

    百度上这帮人,真的服了,没有一个人能解决问题,最后在 stackoverflow 上找到解决方法 The Application ID Name should be same as applicati ...

  5. FFT/NTT/MTT学习笔记

    FFT/NTT/MTT Tags:数学 作业部落 评论地址 前言 这是网上的优秀博客 并不建议初学者看我的博客,因为我也不是很了解FFT的具体原理 一.概述 两个多项式相乘,不用\(N^2\),通过\ ...

  6. python基础学习1-内置函数

    #!/usr/bin/env python # -*- coding:utf-8 -*- 系统内置函数 n =abs(-1) #绝对值 print(n) #bytes()函数 s="离开&q ...

  7. Security1:登录和用户

    授予权限的思路,可以用一句话来概括,那就是:授予 Principal 操作 Securable 的 Permission,在多数文档中,把 Principal 翻译为安全主体,Securable翻译为 ...

  8. Python调用matplotlib实现交互式数据可视化图表案例

    交互式的数据可视化图表是 New IT 新技术的一个应用方向,在过去,用户要在网页上查看数据,基本的实现方式就是在页面上显示一个表格出来,的而且确,用表格的方式来展示数据,显示的数据量会比较大,但是, ...

  9. docker 指令

    杀死所有正在运行的容器docker kill $(docker ps -a -q) 删除所有已经停止的容器docker rm $(docker ps -a -q) 删除所有未打 dangling 标签 ...

  10. Docker部署Redis容器

    从仓库下载镜像 sudo docker pull redis   创建容器(前提:将redis.conf文件放入到/Users/chengang/docker/redis目录里面) docker ru ...