MySQL集群概念

数据库集群,顾名思义,就是利用至少两台或者多台数据库服务器,构成一个虚拟单一数据库逻辑映像,像单数据库系统那样,向客户端提供透明的数据服务。

采用MySQL集群,需要部署主从关系,主节点用来写数据,从节点用来读数据,所以主从节点一般为一对多的关系,使用MySQL集群,用户可以从多个从节点读取数据,大大缓解了读取数据的压力,使用MySQL集群,在主节点写入的数据会自动同步到从节点从而降低了数据丢失的可能性


从概念中我们可以知道,MySQL集群是由多个数据库服务器构成的,但这里为了方便我们就使用多个MySQL实例代替多个MySQL服务器,其实最后完成的效果是相同的

部署MySQL多实例的步骤在这就跳过了,今天我们就从安装MySQL多实例之后来开始讲解如何部署我们的MySQL集群

关于MySQL多实例安装部署的步骤我记录在这篇文章中了,有问题的小伙伴可以去看一下 MySQL多实例安装部署


部署MySQL集群

本次实验共有四个节点,一个主节点,三个从节点

1.停止所有mysql实例

这里我以端口为3307的实例为例,其他实例只需修改命令中的端口号即可

cd /usr/local/mysql/bin/
# ./mysql -uroot -p -P端口号 -h127.0.0.1
./mysql -uroot -p -P3307 -h127.0.0.1

执行SQL命令

shutdown;

查看MySQL进程

ps -ef | grep mysql

所有实例都已经关闭

2.配置my.cnf文件,确定主从节点

这里我将3307端口的实例设置为主节点,其余为从节点

主节点

vi /usr/local/mysql/data/3307/my.cnf

添加配置

log-bin=mysql-bin
#server-id是唯一的,每个节点的server-id必须不同,这里以每个节点的端口号为例
server-id=3307

从节点

因为从节点有多个,这里以配置端口号为3308的节点为例,其他从节点只需修改server-id的值即可

vi /usr/local/mysql/data/3307/my.cnf

添加配置

server-id=3308

启动所有实例

cd /usr/local/mysql/bin/
./mysqld_safe --defaults-file=/usr/local/mysql/data/3307/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql/data/3308/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql/data/3309/my.cnf &
./mysqld_safe --defaults-file=/usr/local/mysql/data/3310/my.cnf &

查看MySQL进程

ps -ef | grep mysql

所有实例成功启动

查看主节点二进制日志指针位置

cd /usr/local/mysql/bin/
./mysql -uroot -p -P3307 -h127.0.0.1

执行SQL命令

show master status;

当主节点修改数据或修改配置时,指针的位置都会发生变化

从节点会根据这个指针的位置来判断主节点的数据库状态是否发生变化,从而将自身的数据库与主节点的数据库进行同步

3.在主节点中赋予从节点同步的权限,同步需要创建用户名和密码

执行SQL命令

grant replication slave on *.* to '用户名'@'%' identified by '密码'

这是我创建的用户名(copy)和密码(123456)

再次查看主节点二进制日志指针位置

show master status;


因为我们修改了数据库的配置所以这里指针的位置发生了变化

初始化指针位置

reset master;

4.在从节点中添加主节点的主机名,端口号,同步用户名和密码,二进制日志文件名,指针起始位置

这里还是以一个从节点为例

cd /usr/local/mysql/bin/
./mysql -uroot -p -P3308 -h127.0.0.1

执行SQL命令

#主节点主机名,端口号
change master to master_host='10.100.119.19',master_port=3307,
#同步用户名,密码
master_user='copy',master_password='123456',
#主节点二进制日志文件名,指针起始位置
master_log_file='mysql-bin.000001',master_log_pos=154;

启动从节点

start slave;

注意:每个从节点都要执行上面的配置

查看从节点状态

show slave status\G;

为了保险起见,最好还是查看一下所有的从节点状态

5.测试从节点自动同步主节点数据

创建的数据库自动同步


向表中添加的数据自动同步


相关文章:

MySQL多实例安装部署

MySQL集群部署(使用多个MySQL实例模拟)相关推荐

  1. CentOS 7安装MySQL集群-GALERA CLUSTER 4 FOR MYSQL 8 RELEASE

    CentOS 7安装MySQL集群-GALERA CLUSTER 4 FOR MYSQL 8 RELEASE 文章目录 CentOS 7安装MySQL集群-GALERA CLUSTER 4 FOR M ...

  2. MySQL 集群(三):MySQL + Mycat 实现读写分离,主备切换集群

    MySQL 集群(三):MySQL + Mycat 实现读写分离,主从切换集群 下载 Mycat Mycat 主要文件 端口 Mycat 命令 配置文件 server.xml schema.xml 配 ...

  3. mysql 集群 运维_【MySQL运维】Canal集群模式与多数据库同步部署

    一.Canal工作原理 Canal基于数据库的增量日志进行解析,然后提供增量数据的订阅和消费.Canal会将自己伪装成MySQL的 Slave去向主库进行同步请求,然后将获取到的binlog解析成特定 ...

  4. MySQL集群之五大常见的MySQL高可用方案(转)

    1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中 ...

  5. MySQL集群之五大常见的MySQL高可用方案

    1. 概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中 ...

  6. nginx +php + redis和 mysql 集群部署_CentOS安装配置LNMP(Linux+Nginx+PHP+MySQL)和Redis

    准备篇 1.配置防火墙 开启80端口.3306端口 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT /sbin/iptables -I IN ...

  7. linux mysql 集群安装配置_linux下mysql集群的安装

    3台redhat服务器: SQL节点(mysqld): 192.168.1.77;192.168.1.78 数据节点(ndbd): 192.168.1.77;192.168.1.78 管理节点(ndb ...

  8. mysql 集群操作系统_mysql集群部署

    mysql集群部署 一.软件准备 MySQL版本采用 5.6.35,通过 Oracle 官方网站下载 也可以直接从HTTP文件服务器上获取: 生产环境: wget http://download.cl ...

  9. Kubernetes学习总结(15)—— Kubernetes 实战之部署 Mysql 集群

    前言 一般情况下 Kubernetes 可以通过 ReplicaSet 以一个 Pod 模板创建多个 pod 副本,但是它们都是无状态的,任何时候它们都可以被一个全新的 pod 替换.然而有状态的 p ...

最新文章

  1. Linux下如何查看文档的内容
  2. 数据恢复工具PhotoRec
  3. 为什么想要去探究Mybatis源码?(1)
  4. 从内存中加载并启动一个exe
  5. docker初识_docker 初识
  6. 移动端去掉按钮点击热区
  7. 笔记本电脑处理器_高通提示低成本5G芯片更强大的笔记本电脑处理器
  8. Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage导致主从不同步解决方法
  9. RAC以及ASM安装全过程整理
  10. NWT失败反省:说别人脑子进水了,汝脑子有没有进水?
  11. NC文件数据提取完成(1.16)
  12. 微信openid的生成规则研究
  13. 基于微信小程序的毕业设计题目(34)PHP小说平台小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  14. Power BI时间智能
  15. C++Primer 第8章IO流
  16. diybox路由器设置教程_一个简单的无线路由器入门设置教程,非常实用
  17. R语言25-Prosper 贷款数据分析1
  18. Java之三目运算符
  19. 【渝粤题库】广东开放大学 电子商务职业技能 形成性考核
  20. 飞畅科技V.35协议转换器指示灯告警说明详细介绍

热门文章

  1. 从分形图片用Box counting方法计算分形维数的一个例子
  2. superblock块丢失后
  3. javascript实现简单购物车功能(有图)
  4. Ontrack EasyRecovery 数据恢复 v16.0.0.2(简体中文汉化)技术员一款全面的U盘硬盘内存卡数据恢复软件
  5. change lan.php lanid,HG522-C(HG522BBA VER.A,AM29LV320MT)刷OPENWRT,LAN1改WAN成功
  6. 什么是“环保用电智能监管系统”?它又是如何实现通过电量监测,监控企业治污设施运行的呢?-安科瑞黄安南
  7. 2g内存测试软件,轻松处理造成2G内存只有1G可用的妙招
  8. 谈谈建站心得(转载)[精华]
  9. 打造金融科技银行,招行的底气源自……
  10. 从 TikTok 危机看去中心化应用未来曙光 | ArcBlock 博客