一、环境准备(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. GitHub 源码,Framework 框架

    https://github.com/CoderLN/Apple-GitHub-Codeidea Apple 译文.GitHub 源码,随原作者 (大版本) 迭代注解.--- 不知名开发者 https ...

  2. #leetcode刷题之路40-组合总和 II

    给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的每个数字在每个组合中只能使用一次.说 ...

  3. django的Session-10

    目录 配置储存引擎 存储在sql数据库 储存在缓存 储存在本地文件 储存在redis session操作 django需要使用一个中间价来实现 session功能, 一般情况下默认启用了该中间价 ,可 ...

  4. 20155332 补交课后测试——ch11网络编程

    20155332 补交课后测试--ch11网络编程 这章的课后测试忘了提交,我课后补做了这章的测试题目,并将知识点和自己的错题汇总如下: 本章知识点总结 11.1 客户端-- 服务器模型 每个网络应用 ...

  5. WPF 学习笔记-设置属性使窗口不可改变大小

    原文:WPF 学习笔记-设置属性使窗口不可改变大小 调整Windows下的ResizeMode属性: ResizeMode = NoResize Resize属性是控制Windows是否可以改变大小, ...

  6. JavaWeb总结(五)

    使用Servlet接受服务器请求信息 HTTP请求示例 HttpServletRequest对象主要用于获取由客户端发送过来的请求头.参数.文件.数据等.Servlet存在的主要目的就是处理请求.Se ...

  7. 10.30 开课一个月零二十六天 (PHP数据库修改)

    1.先做一个修改页面 <body> <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页面的效果非常相似,直接把增加页面的代码复制过来--> &l ...

  8. Velocity学习3

    Velocity快速入门教程 Apache的速度是一个基于Java的的模板引擎(模板引擎),它允许任何人仅仅简单的使用模板语言(模板语言)来引用由java的代码定义的对象. 官网介绍如下: Veloc ...

  9. 深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全

    深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全 原文地址:Image Completion with Deep Learning in TensorFlow by Bra ...

  10. 2-7 hash

    1.Hash Hash函数处理流程Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算 ...