MySQL主从模式可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。本文使用 半同步复制模式
mysql主从复制用途:

  • 实时灾备,用于故障切换(高可用)
  • 读写分离,提供查询服务(读扩展)
  • 数据备份,避免影响业务(高可用)

主从部署必要条件:

  • 从库服务器能连通主库
  • 主库开启binlog日志(设置log-bin参数)
  • 主从server-id不同

1.软件版本和环境:

系统:CentOS7系统

软件 mysql5.7.30安装包:mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

2.各个机器IP和角色

​ 172.18.0.12 – master主库 --负责数据写入

​ 172.18.0.13 – slaver从库1—负责数据读取

​ 172.18.0.14 – slaver从库2 —负责数据读取

2.安装过程:

1.mysql主从数据库安装

  • 安装mysql相关程序包

    rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
    
  • 2.初始化数据库,启动mysql服务

    mysqld --initialize --user=mysql
    通过 cat /var/log/mysqld.log  查看初始化的root用户密码
    systemctl start mysqld.service
    
  • master主库配置

    1.设置master主库my.cof文件[mysqld]# log_binserver-id=1log_bin=mysql-bin //开启二进制日志sync-binlog=1relay-log=mysql-relay-log //开启中继日志skip_name_resolve            //关闭名称解析(非必须)binlog-ignore-db=information_schema  //不进行同步的库binlog-ignore-db=sys  //不进行同步的库binlog-ignore-db=performance_schema  //不进行同步的库
    2.重启数据库systemctl restart mysqld
    3.授权访问grant replication slave on *.* to 'root'@'%' identified by 'root';grant all privileges on *.* to 'root'@'%' identified by 'root';flush privileges;
    4.查看状态show master status;记住文件名和pos值,从库设置时需要用到。
    
  • slaver从库配置

    1.配置my.cof文件[mysqld]# log_binserver-id=2#开启中继日志relay-log=mysql-relay-bin#开启二进制日志log-bin=mysql-bin#启用只读属性read_only=1#是否自动清空不再需要中继日志relay_log_purge = 0#关闭名称解析(非必须)skip_name_resolve#使得更新的数据写进二进制日志中log_slave_updates = 1
    2.重启数据库 systemctl restart mysqld
    3.配置从库同步的主库信息change master to master_host='172.18.0.12',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=869;4.用主城复制start slave;
    

2.mysql主从半同步复制设置

  • master主库设置
//安装半同步插件
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
//查看半同步设置
mysql> show variables like '%semi%';
//启用半同步复制
mysql> set global rpl_semi_sync_master_enabled=1;
//启用1秒钟同步一次
mysql> set global rpl_semi_sync_master_timeout=1000;
  • slaver库设置
//安装半同步插件
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
//启用半同步复制
mysql> set global rpl_semi_sync_slave_enabled=1;

2.测试主从半同步复制

  • 主库添加记录

  • 从库查看记录

  • 查看日志

已进行半同步复制。

Mysql主从模式部署过程相关推荐

  1. MySQL架构原理(七)集群架构和主从模式部署

    目录 集群架构设计 架构设计理念 可用性设计 一致性设计 主从模式 适用场景 实现原理 主从复制 半同步复制 并行复制 MySQL 5.6并行复制原理 MySQL 5.7并行复制原理 MySQL8.0 ...

  2. MySql 主从模式原理及操作步骤

    mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证mysql数据库的可靠性.就要会一些提高可靠性的技术. 主从复制原理如下. slave(从服务器) master(主服务器) ...

  3. Docker部署mysql主从模式

    文章目录 1. 获取mysql镜像 2. 拉取mysql镜像 3. 启动mysql容器 4. 使用Navicat连接mysql 5. 更改my.cnf配置 7.在master数据库(主库)中创建同步用 ...

  4. redis 主从模式_Redis主从模式部署文档

    Redis复制概念 中文资料:http://www.redis.cn/topics/cluster-tutorial.html 在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Re ...

  5. linux搭建mysql主从模式_Linux下搭建MySQL的主从复制(一)

    一从一主模式的搭建 1.主从复制原理 1. 从服务器使用IO Thread向主服务器发送请求   2. 主服务器接受到请求之后,将二进制日志文件通过dump Thread线程响应给从服务器的IO Th ...

  6. binlog+canel windows服务器下mysql数据的部署过程

    1.开启mysql的binlog功能,并配置binlog模式为row. 1.1windos下修改mysql的my.ini文件(该文件在C:\ProgramData\MySQL\MySQL Server ...

  7. 最后关于nginx+passenger+ror+mysql的安装部署过程

    前置库安装 sudo apt-get install gcc sudo apt-get install build-essential sudo apt-get install gcc g++ bui ...

  8. mariadb galera主从模式部署

    安装: 在Mariadb10.1之前的版本,支持Galera Cluster的版本是与Mariadb分开发行的,其版本名称为Mariadb-Galera:Mariadb10.1以后的版本中MariaD ...

  9. 关于Linux下MySql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记

    写在前面 和小伙们分享一些Mysql集群主从同步相关的笔记 博文内容涉及: 为什么需要mysql集群主从同步 主从同步原理 部署不同主从结构的Mysql集群 同步使用的复制模式介绍配置 理解不足小伙伴 ...

最新文章

  1. 异步使用委托delegate --- BeginInvoke和EndInvoke方法
  2. 解决: is not accessible from java.lang.Class android.app.AppComponentFactory
  3. TCP层,flags字段标识位含义说明
  4. python入门用spyder还是jupyter_python3工作环境部署+spyder3+jupyter notebook
  5. ImportError: /home/kzl/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
  6. 集群(三)——haproxy+nginx搭建web集群
  7. Spark入门:也可以用Java创建轻量级的RESTful应用程序
  8. Netty 5用户指南
  9. 希尔排序法(插入排序的改进版本)
  10. linux切换用户无法加载变量,Linux 中用户切换:su 和 su- 的使用 环境变量详解
  11. 使用oracle/mysql/tidb由空格引发的血案解析
  12. linux注册节点报错,Linux 运维4月17日 5.102-5.103
  13. 基于u-boot源码的简单shell软件实现
  14. 32位程序如何在64位系统上运行_32位支持:使用 GCC 交叉编译 | Linux 中国
  15. WEP_密码破解教程_BT3_使用_(原创技术化)
  16. 人工智能:智能优化算法
  17. 太感动了!从Python入门到入魔
  18. AutoCAD Civil 3D笔记
  19. Jekyll 教程——安装
  20. ElasticSearch.net NEST批量创建修改删除索引完整示例

热门文章

  1. 计算机组装与维护----第三次作业
  2. Manacher’s Algorithm超详细!!!
  3. 李彦宏们牛在哪里?中国十大CEO简历
  4. KEIL 5 pack离线包 Stm32f1/f2/f3/f4
  5. JAVA 1.8 新特性 Lamdba
  6. 关于食品企业的健康发展,重视品牌概念是关键
  7. Windows Server 2012 R2 NAP服务器安装与配置06之 测试NAP DHCP
  8. 爬虫系列(一) 网络爬虫简介
  9. android adb开启服务,android adb 启动activity、service,发送broadcast等操作
  10. 悼念MJ,世界流行音乐之王——黄健翔