Mysql主从模式部署过程
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主从模式部署过程相关推荐
- MySQL架构原理(七)集群架构和主从模式部署
目录 集群架构设计 架构设计理念 可用性设计 一致性设计 主从模式 适用场景 实现原理 主从复制 半同步复制 并行复制 MySQL 5.6并行复制原理 MySQL 5.7并行复制原理 MySQL8.0 ...
- MySql 主从模式原理及操作步骤
mysql是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失.为了保证mysql数据库的可靠性.就要会一些提高可靠性的技术. 主从复制原理如下. slave(从服务器) master(主服务器) ...
- Docker部署mysql主从模式
文章目录 1. 获取mysql镜像 2. 拉取mysql镜像 3. 启动mysql容器 4. 使用Navicat连接mysql 5. 更改my.cnf配置 7.在master数据库(主库)中创建同步用 ...
- redis 主从模式_Redis主从模式部署文档
Redis复制概念 中文资料:http://www.redis.cn/topics/cluster-tutorial.html 在 Redis 复制的基础上,使用和配置主从复制非常简单,能使得从 Re ...
- linux搭建mysql主从模式_Linux下搭建MySQL的主从复制(一)
一从一主模式的搭建 1.主从复制原理 1. 从服务器使用IO Thread向主服务器发送请求 2. 主服务器接受到请求之后,将二进制日志文件通过dump Thread线程响应给从服务器的IO Th ...
- binlog+canel windows服务器下mysql数据的部署过程
1.开启mysql的binlog功能,并配置binlog模式为row. 1.1windos下修改mysql的my.ini文件(该文件在C:\ProgramData\MySQL\MySQL Server ...
- 最后关于nginx+passenger+ror+mysql的安装部署过程
前置库安装 sudo apt-get install gcc sudo apt-get install build-essential sudo apt-get install gcc g++ bui ...
- mariadb galera主从模式部署
安装: 在Mariadb10.1之前的版本,支持Galera Cluster的版本是与Mariadb分开发行的,其版本名称为Mariadb-Galera:Mariadb10.1以后的版本中MariaD ...
- 关于Linux下MySql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记
写在前面 和小伙们分享一些Mysql集群主从同步相关的笔记 博文内容涉及: 为什么需要mysql集群主从同步 主从同步原理 部署不同主从结构的Mysql集群 同步使用的复制模式介绍配置 理解不足小伙伴 ...
最新文章
- 异步使用委托delegate --- BeginInvoke和EndInvoke方法
- 解决: is not accessible from java.lang.Class android.app.AppComponentFactory
- TCP层,flags字段标识位含义说明
- python入门用spyder还是jupyter_python3工作环境部署+spyder3+jupyter notebook
- ImportError: /home/kzl/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
- 集群(三)——haproxy+nginx搭建web集群
- Spark入门:也可以用Java创建轻量级的RESTful应用程序
- Netty 5用户指南
- 希尔排序法(插入排序的改进版本)
- linux切换用户无法加载变量,Linux 中用户切换:su 和 su- 的使用 环境变量详解
- 使用oracle/mysql/tidb由空格引发的血案解析
- linux注册节点报错,Linux 运维4月17日 5.102-5.103
- 基于u-boot源码的简单shell软件实现
- 32位程序如何在64位系统上运行_32位支持:使用 GCC 交叉编译 | Linux 中国
- WEP_密码破解教程_BT3_使用_(原创技术化)
- 人工智能:智能优化算法
- 太感动了!从Python入门到入魔
- AutoCAD Civil 3D笔记
- Jekyll 教程——安装
- ElasticSearch.net NEST批量创建修改删除索引完整示例
热门文章
- 计算机组装与维护----第三次作业
- Manacher’s Algorithm超详细!!!
- 李彦宏们牛在哪里?中国十大CEO简历
- KEIL 5 pack离线包 Stm32f1/f2/f3/f4
- JAVA 1.8 新特性 Lamdba
- 关于食品企业的健康发展,重视品牌概念是关键
- Windows Server 2012 R2 NAP服务器安装与配置06之 测试NAP DHCP
- 爬虫系列(一) 网络爬虫简介
- android adb开启服务,android adb 启动activity、service,发送broadcast等操作
- 悼念MJ,世界流行音乐之王——黄健翔