mysql 分布式 安装_mysql分布式集群安装-阿里云开发者社区
概述
MySQL Cluster旨在提供具有高可用性和低延迟的MySQL兼容数据库。 MySQL Cluster技术通过NDB(网络数据库)和NDBCLUSTER存储引擎实现,并为MySQL数据库系统提供无共享群集和自动分片。 在无共享架构中,每个节点都有自己的内存和磁盘,不建议和支持使用NFS,SAN等共享存储。
要实现MySQL Cluster,我们必须安装三种类型的节点。 每个节点类型将安装在它自己的服务器上。
1.管理节点 - NDB_MGMD / MGM
群集管理服务器用于管理群集的其他节点。 我们可以从管理节点创建和配置群集上的新节点,重新启动,删除或备份节点。
2.数据节点 - NDBD / NDB
这是在节点之间进行同步和数据复制的过程的层。
3. SQL节点 -MySQLD/ API
应用程序用于连接到数据库集群的接口服务器。
在本教程中,我将指导您完成使用centOS7安装和配置MySQL群集。我们将配置管理节点,两个数据节点和两个SQL节点。
准备
操作系统是CentOS 7 - 64位。
5台CentOS服务器或虚拟机。 我将使用主机名和IP地址,如下所示:
管理节点
db1 = 192.168.1.107
数据节点
db2 = 192.168.1.111
db3 = 192.168.1.109
SQL节点
db4 = 192.168.1.110
db5 = 192.168.1.112
简单起见所有服务直接禁用防火墙
systemctldisablefirewalld
systemctlstopfirewalld
并且禁用selinux
vi/etc/selinux/config
# This file controls the state ofSELinuxon the system.
# SELINUX= can take one of these three values:
# enforcing -SELinuxsecurity policy is enforced.
# permissive -SELinuxprints warnings instead of enforcing.
# disabled - NoSELinuxpolicy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
#mls- Multi Level Security protection.
SELINUXTYPE=targeted
设置管理节点
第一步是使用CentOS 7 db1和IP 192.168.1. 107创建“管理节点”。 确保以root用户身份登录db1服务器。
下载MySQL Cluster软件
我将使用wget从MySQL站点下载它。 我在这里使用的是“Red Hat Enterprise Linux 7 / Oracle Linux 7(x86,64位),RPM Bundle”,它与CentOS 7兼容。然后解压缩tar文件。
我将使用wget从MySQL站点下载它。 我在这里使用的是“Red Hat Enterprise Linux 7 / Oracle Linux 7(x86,64位),RPM Bundle”,它与CentOS 7兼容。然后解压缩tar文件。
cd~
wgethttp://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
tar -xvfMySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
安装和删除软件包
在安装MySQL Cluster的rpm包之前,需要安装MySQL-Cluster服务器所需的perl-Data-Dumper 。 在我们安装MySQL Cluster之前你需要删除mariadb-libs 。
yum -y installperl-Data-Dumper
yum -y removemariadb-libs
安装MySQL Cluster
使用以下rpm命令安装MySQL Cluster软件包:
cd~
yumlocalinstallMySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpmMySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpmMySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm-y
确保没有错误。又可能需要安装net-tools
Yum install net-tools -y
配置MySQL群集
为配置文件创建新目录。 我将使用“/var/lib/mysql-cluster”目录。
mkdir-p /var/lib/mysql-cluster
然后在mysql-cluster目录中为名为“config.ini”的集群管理创建新的配置文件。
cd /var/lib/mysql-cluster
vi config.ini
粘贴以下配置:
[ndb_mgmddefault]
# Directory for MGM node log files
DataDir=/var/lib/mysql-cluster
[ndb_mgmd]
#Management Node db1
HostName=192.168.1.107
[ndbddefault]
NoOfReplicas=2 # Number of replicas
DataMemory=256M # Memory allocate for data storage
IndexMemory=128M # Memory allocate for index storage
#Directory for Data Node
DataDir=/var/lib/mysql-cluster
[ndbd]
# db2
HostName=192.168.1.111
[ndbd]
# db3
HostName=192.168.1.109
[mysqld]
#SQL Node db4
HostName=192.168.1.115
[mysqld]
#SQL Node db5
HostName=192.168.1.112
保存文件并退出。
启动管理节点
接下来使用以下命令启动管理节点:
ndb_mgmd--config-file=/var/lib/mysql-cluster/config.ini
结果应该类似于:
MySQL Cluster Management Server mysql-5.6.28 ndb-7.4.10
2018-08-16 03:00:47 [MgmtSrvr] INFO -- The default config directory '/usr/mysql-cluster' does not exist. Trying to create it...
2018-08-16 03:00:47 [MgmtSrvr] INFO --Sucessfullycreated config directory
管理节点已启动,现在您可以使用命令“ndb_mgm”来监视节点:
ndb_mgm
show
设置MySQL群集数据节点
我们将使用2个CentOS服务器作为数据节点。
db2 = 192.168.1.111
db3 = 192.168.1.109
以root用户身份登录并下载MySQL Cluster软件
使用ssh登录到db2服务器:
然后下载MySQL Cluster包并解压缩:
cd ~
wgethttp://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
tar -xvfMySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
安装和删除软件包
安装perl-Data-Dumper并删除mariadb-libs::
yum -y installperl-Data-Dumper
yum -y removemariadb-libs
.安装MySQL Cluster
现在我们可以使用这些rpm命令为数据节点安装MySQL Cluster包:
cd~
yumlocalinstallMySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpmMySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpmMySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm-y
确保没有错误。
配置数据节点
使用vi编辑器在/etc目录中创建一个新配置文件:
vi /etc/my.cnf
粘贴配置如下:
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.107# IP address of Management Node
[mysql_cluster]
ndb-connectstring=192.168.1.107# IP address of Management Node
保存文件并退出。
然后为我们在管理节点配置文件“config.ini”中定义的数据库数据创建新目录。
mkdir-p /var/lib/mysql-cluster
现在启动数据节点/ndbd:
ndbd
DB3如法炮制
操作完回管理节点确认一下
设置SQL节点
此步骤包含SQL节点的设置,该节点提供对数据库的应用程序访问。 我们为SQL节点使用2个CentOS服务器:
db4 = 192.168.1.115
db5 = 192.168.1.112
然后下载MySQL Cluster包并解压缩:
cd ~
wgethttp://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/MySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
tar -xvfMySQL-Cluster-gpl-7.4.10-1.el7.x86_64.rpm-bundle.tar
安装和删除软件包
安装perl-Data-Dumper并删除mariadb-libs::
yum -y installperl-Data-Dumper
yum -y removemariadb-libs
.安装MySQL Cluster
现在我们可以使用这些rpm命令为数据节点安装MySQL Cluster包:
cd~
yumlocalinstallMySQL-Cluster-client-gpl-7.4.10-1.el7.x86_64.rpmMySQL-Cluster-server-gpl-7.4.10-1.el7.x86_64.rpmMySQL-Cluster-shared-gpl-7.4.10-1.el7.x86_64.rpm-y
确保没有错误。
配置SQL节点
在/etc目录中创建一个新的my.cnf文件:
vi /etc/my.cnf
并在下面粘贴配置:
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.107# IP address for server management node
default_storage_engine=ndbcluster# Define default Storage Engine used by MySQL
[mysql_cluster]
ndb-connectstring=192.168.1.107# IP address for server management node
保存文件并退出编辑器。这里简单粗暴直接跳过验证。
通过启动MySQL服务器启动SQL节点:
重新初始化数据库
cat .mysql_secret
# The random password set for the root user at Thu Aug 16 20:48:32 2018 (local time): 9ybWrUm68Vx00JY6
最后的数字就是root的密码
mysql_secure_installation 命令按照提示初始化数据库
如果是偷懒的同学可以直接mysqld中加入skip-grant-tables直接跳过用户验证
servicemysqlstart
验证
在所有节点上操作完成之后,可以使用
ndb_mgm-e show 来检查
所有的节点都连接完毕
这个时候连接到
192.168.1.112数据库创建数据,创建表,添加数据。
在192.168.1.115上就可以直接看到这些数据了,反过来操作也是一样。
mysql 分布式 安装_mysql分布式集群安装-阿里云开发者社区相关推荐
- mysql 接口访问_MySQL的数据库访问接口-阿里云开发者社区
大部分流行的关系数据库产品采用的都是 C/S 架构.因此,应用程序要访问数据库的数据就必须和各种数据库客户端(也称为数据库访问接口)打交道.可以这么认为,每一种流行的编程语言都需要一个对应的数据库访问 ...
- mysql 参数调整_mysql需要调整的参数-阿里云开发者社区
Mysql需要调整的参数 #以 mysql 5.6版本示例讲解 一.Innodb设置 innodb_buffer_pool_size:保存innodb数据和索引在该buffer中, 对专用mysql服 ...
- mysql double 存储_关于MYSQL中FLOAT和DOUBLE类型的存储-阿里云开发者社区
关于MYSQL中FLOAT和DOUBLE类型的存储 重庆八怪 2016-04-12 844浏览量 简介: 关于MYSQL中FLOAT和DOUBLE类型的存储 其实在单精度和双精度浮点类型存储中其存储方 ...
- mysql5.7 备份恢复_RDS for MySQL 5.7 备份恢复为本地实例-阿里云开发者社区
RDS for MySQL 5.7 备份恢复为本地实例 近期同学咨询反馈 RDS for MySQL 5.7 备份恢复本地实例的问题比较多,提供一个恢复样例. 1. 本地环境 # 项目 说明 1 OS ...
- 阿里mysql数据库同步_如何对MySQL数据库中的数据进行实时同步-阿里云开发者社区...
数据传输(Data Transmission) 支持以数据库为核心的结构化存储产品之间的数据传输. 它是一种集数据迁移.数据订阅及数据实时同步于一体的数据传输服务.数据传输致力于在公有云.混合云场景下 ...
- vs2010中svn使用教程_SVN安装以及和VS2010整合使用-阿里云开发者社区
安装文件下载(哪个下载快用哪个) : 说明:软件名称是一样的,不同版本没多大区别,大致是一样的. 先安装 服务端(Setup-Subversion-1.6.5.msi), 再安装客户端(Tortois ...
- mysql聚合函数要分组吗_mysql聚合函数和分组-阿里云开发者社区
文章实例的数据表,来自上一篇博客<mysql简单查询>:http://blog.csdn.net/zuiwuyuan/article/details/39349611 一. 聚合函数 聚合 ...
- mysql字符串区分大小写么_mysql字符串区分大小写的问题-阿里云开发者社区
一. 1. CREATE TABLE NAME(name VARCHAR(10)); 对这个表,缺省情况下,下面两个查询的结果是一样的: SELECT * FROM TABLE NAME WHERE ...
- mysql 修复表 阿里云_MySql数据表修复方法-阿里云开发者社区
mysqld进程在一个写入当中被杀死.计算机的意外关闭(例如,如果计算机掉电).一个硬件错误这章描述如何检查和处理在MySQL数据库中的数据损坏.如果你的表损坏很多,你应该尝试找出其原因!见G.1 调 ...
- mysql数据一条复制_Mysql 复制一条数据-阿里云开发者社区
从不同的表复制 insert into 表1 select * from 表2 where id =** ; 同一张表中复制(无主键) insert into 表1 select * from 表2 ...
最新文章
- mongodb地理位置索引实现原理
- redis cluster 集群重新启动关闭
- VMware 虚拟机 无法将Ethernet0连接到虚拟网络VMnet0 问题
- 在win10下面新建一个虚拟网卡
- 【新手提问导读】提问的艺术
- mysql 3t_编译安装mysql
- Golang package
- SQL Server-数据类型(七)
- python:python对象属性及属性函数property()
- 最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他
- 第四次黄鹤楼之老照片
- 小米2系列板砖自救行动
- 2021 年最佳开源软件榜单
- 微信小程序前端【订阅消息】遇到的问题及总结
- Nature:分离到一种位于原核生物-真核生物“交界”的古菌
- 卸载python2_彻底卸载python
- 如何在 ggplot2 中制作饼图(附示例)
- 操作系统---页式地址重定位
- Linux系统安装rar压缩软件
- 蓝桥杯 Basic--3 字母图形