mysql 官方集群
一、环境准备(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 官方集群的更多相关文章
- 多图文,详细介绍mysql各个集群方案
目录 多图文,详细介绍mysql各个集群方案 一,mysql原厂出品 二,mysql第三方优化 三,依托硬件配合 四,其它 多图文,详细介绍mysql各个集群方案 集群的好处 高可用性:故障检测及迁移 ...
- MySQL分布式集群之MyCAT(转)
原文地址:http://blog.itpub.net/29510932/viewspace-1664499/ 隔了好久,才想起来更新博客,最近倒腾的数据库从Oracle换成了MySQL,研究了一段时间 ...
- MySQL数据库集群进行正确配置步骤
MySQL数据库集群进行正确配置步骤 2010-06-09 10:47 arrowcat 博客园 字号:T | T 我们今天是要和大家一起分享的是对MySQL数据库集群进行正确配置,我前两天在相关网站 ...
- MySQL Cluster 集群
本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...
- Facebook揭密:如何让MySQL数据库集群自主运行
Facebook运行着全球最大的MySQL数据库集群,该集群分布在两个大洲上的多个数据中心中数以千计的服务器上.让人不解的是,Facebook只动用了一个很小的团队来管理这个庞大的MySQL数据库集群 ...
- 超详细的 Redis Cluster 官方集群搭建指南
今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细. 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,rub ...
- 基于keepalived搭建MySQL热机集群
背景 MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,M ...
- 如何搭建一个 MySQL 分布式集群
1.准备集群搭建环境 使用6台虚拟机来搭建 MySQL分布式集群 ,相应的实验环境与对应的MySQL节点之间的对应关系如下图所示: 管理节点(MGM):这类节点的作用是管理MySQLCluster内的 ...
- MySQL分布式集群之MyCAT(三)rule的分析【转】
首先写在最前面,MyCAT1.4的alpha版本已经发布了,这里面修复了不少的bug,也完善了一细节,之前两篇博客已经做了一些修改 ---------------------------------- ...
随机推荐
- mysql8.0版本skip-grant-tables出现的新问题
MySQL 初始化 mysqld --initialize 的时候会有密码,就这个样子, 可是毕竟总有人跟我一样,不熟悉安装过程,没有注意这一密码这一项,导致你现在不知道密码的尴尬处境,或者说你是正常 ...
- Hbase的安装和基本使用
Hbase介绍 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于H ...
- 数据分析-pandas基础入门(一)
最近在学习python,所以了解了一下Pandas,Pandas是基于NumPy的一个开源Python库,它被广泛用于快速分析数据,以及数据清洗和准备等工作. 首先是安装numpy以及pandas, ...
- rails框架配置
rails框架默认有三个模式development(开发),production(上线),test(测试) Development config.cache_classes = false 每次请求都 ...
- 关于DE2-115 FPGA开发板无法烧写程序的解决方法
友晶科技推出的DE2-115 FPGA开发板,有时候莫名奇妙,无法烧写或者固化程序.利用JTAG 向DE2-115开发板烧写.sof文件失败,并提示以下错误,如图1和图2所示 图1 图2 解决方法:只 ...
- c++ 双向循环链表
教学内容: 循环双链表 建立循环双链表 循环链表里插入结点 遍历循环链表 双向链表结构定义 struct stu_data { ];//学生名字 struct mytime stuTime;/ ...
- 2-8 字典dict
1.如何在一个变量里存储公司每个员工的个人信息? 2.字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:value2} 1.键与值用冒号“:”分开: ...
- 2 vue 。js
元素option el element 混淆 webpack 项目依赖 save 开发依赖 虚拟dom的问题 在js的基础上封装的,不是jquery 整个网页就一个实例化对象 v 下一张 怎么做 ...
- OpenStack入门篇(二十)之实现阿里云ESC多FLAT网络
1.给两台虚拟机增加网卡,使用仅主机模式,网段为:192.168.57.0/24 2.修改两台主机网卡配置 [root@linux-node1 ~]# cp /etc/sysconfig/networ ...
- Asp.net中使用缓存(cache)
做了一个时间优化的项目,目的就是缩短程序过程中的时间花费,最后发现了asp.net和asp.net core 中都有缓存工具来进行缓存,以加快访问速度. 找了官方demo来进行分析: ObjectCa ...