mysql主从配置

mysql数据库的主从复制

萝らか妹 提交于 2019-12-06 15:17:20
数据库的主从复制 MySQL中的复制功能用于将数据变更从一个服务器(Master)复制到一个或多个从属服务器(Slave) 主服务器将更改写入二进制日志(binlog),从服务器请求主服务器的binlog并应用其内容日志文件的格式影响从属服务器应用更改的方式 MySQL支持基于语句的(statment)、基于行的(row)以及混合格式的(mixed)日志格式 在复制过程中主服务器使用基于行(row)的日志格式可以大幅降低主服务器和从属服务器数据不一致的情况发生 从属服务器数量 一个主服务器可以具有的从属服务器数量理论上没有限制 每个额外的从库都会占用主库较少资源,所以在生产环境配置从库时应该仔细斟酌每个从库的必要性 最佳从属服务器数量取决于许多因素:模式大小、写入次数、主服务器和从属服务器的相对性能以及 CPU 和内存可用性等因素 网络故障对主从复制的影响 MySQL中的复制功能在网络故障时暂停工作,在网络故障恢复后复制工作将继续进行 每个从属服务器跟踪其已经处理了多少日志并在网络连接恢复时自动继续处理,此行为是自动的,不需要特殊配置 主库和从库的关系 Master和Slave是一对多的关系(MySQL5.5,5.6版本) 一个Master主服务器可以对应多个Slave从属服务器,一个Slave从属服务器只能有一个Master主服务器

mysql 主从日志文件mysql-bin文件清除方法

好久不见. 提交于 2019-12-06 11:42:54
默认情况下mysql会一直保留mysql-bin文件,这样到一定时候,磁盘可能会被撑满,这时候是否可以删除这些文件呢,是否可以安全删除,是个问题,不建议使用rm命令删除,这样有可能会不安全,正确的方法是通过mysql的命令去删除。 mysql> reset master; mysql> reset slave; 其实关键的命令就是reset master;这个命令会清空mysql-bin文件。 另外如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。 log-bin=mysql-bin 如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数: expire_logs_days = 3 表示保留3天的日志,这样老日志会自动被清理掉 ———————————————— 原文链接:https://blog.csdn.net/zhengfeng2100/article/details/52858946 来源: https://www.cnblogs.com/wei9593/p/11980907.html

MySQL读写分离技术

懵懂的女人 提交于 2019-12-06 10:58:28
文章转载自: https://www.jianshu.com/p/8903423f78ed 一、读写分离(主从复制) 主从复制: 当主服务器有写入(insert / update / delete)语句时候,从服务器自动获取 读写分离: insert / update / delete 语句操作一台服务器, select 操作另一个服务器 从库生成两个线程,一个 I/O 线程,一个 SQL 线程; I/O 线程去请求主库的 binlog ,并将得到的 binlog 日志写到 relay log (中继日志)文件中; 主库会生成一个 log dum 线程,用来给从库 I/O 线程传 binlog; SQL 线程,会读取 relay log 文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致 二、bin-log 日志 概念: binlog 即二进制日志,它记录了数据库上的所有改变并以二进制的形式保存在磁盘中,它可以用来查看数据库的变更历史、数据库备份和恢复、Mysql 的复制(主从数据库的复制)。 简单概括:binlog 日志就是记录 MySQL 数据库增 / 删 / 改 SQL语句 作用:实现主从复制、灾难恢复 1.开启 binlog 日志 步骤1:打开 配置文件 vi /etc/my.cnf 并修改 步骤2:重启服务 步骤3:登录 MySQL 查看 bin-log

MySQL集群高可用

佐手、 提交于 2019-12-06 10:39:56
目录 MySQL高可用 Galera Cluster Galera Cluster Galera Cluster特点 Galera Cluster 缺点 Galera Cluster工作过程 Galera Cluster官方文档 Galera Cluster包括两个组件 WSREP复制实现 PXC 原理 PXC最常使用如下4个端口号: PXC中涉及到的重要概念和核心参数: 实战案例:Percona XtraDB Cluster(PXC 5.7) 在PXC集群中加入节点 在PXC集群中修复故障节点 实现MariaDB Galera Cluster 复制的问题和解决方案 性能衡量指标 数据库服务衡量指标: 压力测试工具 常见MySQl压力测试工具 mysqlslap 常用参数 [options] 说明: mysqlslap示例 生产环境 my.cnf 配置案例 MySQL配置最佳实践 MySQL高可用 Galera Cluster Galera Cluster Galera Cluster:集成了Galera插件的MySQL集群,是一种新型的,数据不共享的,高度冗余的高可用方案,目前Galera Cluster有两个版本,分别是Percona Xtradb Cluster及MariaDB Cluster,Galera本身是具有多主特性的,即采用multi-master的集群架构

SpringCloud Alibaba微服务实战一 - 基础环境准备

会有一股神秘感。 提交于 2019-12-06 10:27:12
Springcloud Aibaba现在这么火,我一直想写个基于Springcloud Alibaba一步一步构建微服务架构的系列博客,终于下定决心从今天开始本系列文章的第一篇 - 基础环境准备。 该系列文章内容主要基于三个微服务:用户服务 AccountService ,订单服务 OrderService ,产品服务 ProductService 用到的组件有: 注册中心、配置中心 Nacos 限流 Sentinel 分布式事务 Seata 网关 SpringCloud Gateway 认证授权 Spring Cloud Oauth2 docker、docker-compose 由于用到的组件相对较多,部署会很繁琐,最关键的是没有资源服务器,所以在开发过程中我会逐渐将一些组件使用docker-compose部署。 本篇内容就是使用Dokcer-compose部署Nacos,Sentinel,Mysql,作为后面的系列文章的基础环境。 如果你对docker或者docker-compose不是很熟悉的话,你可以翻看我之前的两篇文章,看完后相信你能很快入手。 Docker基础与实战,看这一篇就够了 Docker-Compose基础与实战,看这一篇就够了 容器化 mysql 由于nacos需要依赖于Mysql作为资源存储,所以在编写完整docker

MySQL的主从异步复制实验

坚强是说给别人听的谎言 提交于 2019-12-06 06:58:43
注意: MySQL的主从复制不是架构 MySQL的主从异步复制实验 需要3台机器 部署MySQL主从异步复制 mysql A:192.168.200.66 mysql B:192.168.200.67 mysql C:192.168.200.68 ------------------------------------------ 所有机器: iptables -F setenforce 0 systemctl stop firewalld ------------------------------------------ A : yum -y install ntp (时间同步服务器,保证3台机器的时间是一致的) vim /etc/npt.conf # 在文件末尾添加两行 server 127.127.1.0 fudge 127.127.1.0 stratum 8 保存退出 启动NTP服务 systemctl enable ntpd systemctl start ntpd ------------------------------------------- B : rpm -q ntpdate yum -y install ntpdate ntpdate 192.168.200.66 //时间同步,保证第2台机器与主服务器的时间是一致的。 date -s "2018-10

MySQL数据库(一)_基础概念

↘锁芯ラ 提交于 2019-12-06 06:43:45
本章内容 数据库管理系统 关系型数据库 简易数据规划流程 数据库的正规化分析 MySQL基本概念 数据模型 MariaDB初识 其实MySQL和MariaDB是同一个人开发的,所以在功能和用法和,几乎一致。自从MySQL被ORICAL收购后,开源的MySQL就成为了商业化的产品,以后的趋势是去IOE,这个概念是由阿里巴巴 2008 年提出,所谓的“IOE”,指的是以 IBM 、Oracle、EMC 为代表的小型机、 集中式数据库和高端存储所组成的 IT 技术架构。 所以下面所讲的MySQL其实就是MariaDB,实际使用的软件是MariaDB。 数据库的发展史 萌芽阶段:文件系统 使用磁盘文件来存储数据 初级阶段:第一代数据库 出现了网状模型、层次模型的数据库 中级阶段:第二代数据库 关系型数据库和结构化查询语言 高级阶段:新一代数据库 “关系-对象”型数据库 数据库管理系统 数据库是数据的汇集,它以一定的组织形式存于存储介质上。 DBMS 是管理数据库的系统软件,它实现数据库系统的各种功能。是数据库系统的核心。 DBA 负责数据库的规划、设计、协调、维护和管理等工作 数据库管理系统的优点 相互关联的数据的集合 较少的数据冗余 程序与数据相互独立 保证数据的安全、可靠 最中大限度地保证数据的正确性 数据可以并发使用并能同时保证一致性 文件管理系统的缺点 编写应用程序不方便

MSYQL主从复制-Gtid方式

喜欢而已 提交于 2019-12-06 05:04:08
目录 1、MYSQL主从复制-Gtid方式 1、环境准备 2、 Master 配置 3、 Slave 配置 4、报错&解决 我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。 个人博客: 传送阵 笔者微信:zhanghe15069028807 1、MYSQL主从复制-Gtid方式 Gtid方式的主从复制方式与传统方式的原理一致,配置大部分相同,仅有一小部分的配置不同。 Gtid主从复制如下,如想实现多从,将下述的从再配置一次即可。 1、环境准备 数据库主从复制如下,如需实现多从,将以下实验从案例再配置一次即可。 操作系统 MYSQL版本 IP 角色 centos7 5.7 192.168.70.160 Master centos7 5.7 192.168.70.161 Slave /etc/hosts 文件解析(两台机器一样) 192.168.70.160 master1 192.168.80.161 slave1 2、 Master 配置 //打开二进制日志 [root@master1 ~]# cat /etc/my.cnf [mysqld] datadir=/mysql socket=/var/lib/mysql/mysql.sock log-bin #打开二进制日志 server-id=160

MYSQL主从复制--传统方式

安稳与你 提交于 2019-12-06 04:56:30
目录 0、MYSQL主从复制概述 1、主从复制的作用 2、主从复制存在的问题 3、主从复制问题的解决办法 4、主从复制的原理(面试必问) 1、MYSQL主从复制-传统方式 1、环境准备 2、 Master 配置 3、 Slave 配置 4、报错&解决 我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。 个人博客: 传送阵 笔者微信:zhanghe15069028807 0、MYSQL主从复制概述 1、主从复制的作用 用于备份,避免影响业务 实时灾备,用于切换故障 读写分离,提供查询服务 2、主从复制存在的问题 当主压力大时,复制会延时 主库宕机后,数据可能会丢失 3、主从复制问题的解决办法 并行复制,解决延时问题 全同步复制,要求5.7版本以上 4、主从复制的原理(面试必问) 我们在上一节做逻辑备份恢复时,其实就是手动将故障前的操作通过 二进制日志再执行一次,就是这么简单,而主从复制的原理就是将这个过程给自动化了,不用我们手工参与了。 1、主数据库必须要将二进制日志打开,这样主的操作才会被记录下来。 2、从数据库实时侦测主数据库二进制文件的变化,一旦变动之后,就会立马将操作下载到本地的中继日志里面。 3、从数据库进程然后再读取中继日志,将其重放备库的数据库之上。 1、MYSQL主从复制-传统方式 1

MySQL增量备份与恢复

。_饼干妹妹 提交于 2019-12-06 04:21:25
一 MySQL 增量备份概念 使用 mysqldump 进行完全备份,备份的数据中有重复数据,备份时间与恢复时间过长。而增量备份就是备份自上一次备份之后增加或改变的文件或内容。 增量备份的特点: 没有重复数据,备份量不大,时间短 恢复麻烦:需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。 MySQL 没有提供直接的增量备份办法,可以通过 MySQL 提供的二进制日志( binary logs(binlog) )间接实现增量备份。 MySQL 二进制日志对备份的意义: 二进制日志保存了所有更新或者可能更新数据库的操作。 二进制日志在启动 MySQL 服务器后开始记录,并在文件达到 max_binlog_size 所设置的大小或者接收到 flush logs 命令后重新创建新的日志文件。 [root@localhost ~]# vim /etc/my.cnf 52 max_binlog_size = 1024000 // 二进制日志最大 1M 只需定时执行 flush logs 方法重新创建新的日志,生成二进制文件序列,并及时把这些日志保存到安全的地方就完成了一个时间段的增量备份。 要进行 MySQL 的增量备份,首先要开启二进制日志功能,开启 MySQL 的二进制日志功能。 方法一: MySQL 的配置文件的 [mysqld] 项中加入