XtraBackup

新特性解读 | MySQL 8 的备份工具该如何选择?

☆樱花仙子☆ 提交于 2020-08-14 12:41:02
作者:洪斌 爱可生南区负责人兼技术服务总监,MySQL ACE,擅长数据库架构规划、故障诊断、性能优化分析,实践经验丰富,帮助各行业客户解决 MySQL 技术问题,为金融、运营商、互联网等行业客户提供 MySQL 整体解决方案。 本文来源:转载自公众号-玩转MySQL *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 数据备份是数据容灾的最后一道防线,即便有着两地三中心的架构,备份也依然重要。如果备份出问题,备份时影响了交易业务,备份数据无法恢复,这些也是企业难以承受的。所以选择合适的备份工具尤为重要。每个企业级数据库都会有配套的备份工具,MEB(MySQL Enterprise Backup) 就是 MySQL 企业版中非常重要的工具之一,是为企业级客户提供的数据备份方案。 Xtrabackup 一直作为 MEB 开源版备胎而存在,从 MySQL 8.0 开始情况可能会变得有所不同。 在 MySQL 8.0 的 Backup Lock、Redo Log Archiving、Page Tracking 等新特性的加持下,MEB 备份/恢复体验会更好,目前 xtrabackup 还不支持这些特性。 MySQL 企业版还有哪些功能? 特性 1:Backup Lock 8.0 之前使用 xtrabackup 或 MEB 做物理备份,为了保证备份时

基于GTID搭建主从MySQL

穿精又带淫゛_ 提交于 2020-08-13 00:30:47
目录 基于gtid搭建主从MySQL 一、GTID的使用 二、GTID的简介 三、GTID的构成 四、查看GTID的执行情况 4.1 gtid_executed 4.2 gtid_own 4.3 gtid_purged 五、MySQL的幂等性 六、拓展: 七、实验: 小实验1: 小实验2: 基于gtid搭建主从MySQL 一、GTID的使用 想让主从之间使用gtid的方式同步数据,需要我们在配置文件中开启mysql对gtid相关的配置信息 找到my.cnf ,在mysqld模块中加入如下的配置。(主库从库都这样) # on表示开启,OFF表示关闭 gtid-mode = ON # 下面的两个变量必须开启,否则MySQL拒绝启动 log-slave-updates = 1 log-bin = MySQL-bin # 必须开启,否则MySQL不启动,因为MySQL的SQL和gtid # 许多MySQL的SQL和GTID是不兼容的。比如开启ROW 格式时,CREATE TABLE … SELECT # 在binlog中会形成2个不同的事务,GTID无法唯一。 # 另外在事务中更新MyISAM表也是不允许的。 enforce_gtid_consistency = 1 # log-bin-index = MySQL-bin.index 对主库来说依然需要创建一个用于同步数据的账号 mysql

MySQL学习笔记(27):备份与恢复

流过昼夜 提交于 2020-08-04 09:27:19
本文更新于2020-05-03,使用MySQL 5.7,操作系统为Deepin 15.4。 目录 逻辑备份和恢复 物理备份和恢复 冷备份和恢复 热备份和恢复 表数据导入导出 MySQL的备份分为逻辑备份和物理备份,物理备份分为冷备份和热备份。恢复分为完全恢复和不完全恢复,不完全恢复又分为基于时间点的恢复和基于位置的恢复。 逻辑备份和恢复 使用mysqldump进行逻辑备份,如 mysqldump dbname > filename 。 为了保证数据备份的一致性,MyISAM存储引擎需加上-l参数,如InnoDB等事务存储引擎应加上--single-transaction。 恢复包括两个步骤: 使用备份数据恢复,如 mysql dbname < backupfilename 。 将备份后至恢复前的日志重做(不要把上一步执行时的二进制日志也重做了),如 mysqlbinlog logfilename | mysql dbname 。可进行不完全恢复,但要注意是否包含完整的事务,如 mysqlbinlog --start-date=start logfilename | mysql dbname 或 mysqlbinlog --start-position=position logfilename | mysql dbname 。 物理备份和恢复 冷备份和恢复 冷备份就是停掉数据库服务

MYSQL数据库学习系列五

我是研究僧i 提交于 2020-07-28 04:24:52
MYSQL数据库学习系列五 五.MYSQL运维实践 5.1-MySQL日志系统 什么是日志 日志(log)是一种顺序记录事件流水的文件 记录计算机程序运行过程中发生了什么 多种多样的用途 o帮助分析程序问题 o分析服务请求的特征、流量等 o判断工作是否成功执行 o等等…… MySQL日志的分类 服务器日志 o记录进程启动运行过程中的特殊事件,帮助分析MySQL服务遇到的问题 o根据需求抓取特定的SQL语句,追踪性能可能存在的问题的业务SQL 事务日志 o记录应用程序对数据的所有更改 o可用于数据恢复 o可用于实例间数据同步 分类 日志名称 服务器日志 服务错误日志 服务器日志 慢查询日志 服务器日志 综合查询日志 事务日志 存储引擎事务日志 事务日志 二进制日志 服务错误日志 记录实例启动运行过程中重要消息 配置参数 olog_error = /data/mysql_data/node-1/mysql.log 内容并非全是错误消息 如果mysqld进程无法正常启动首先查看错误日志 慢查询日志 记录执行时间超过一定阈值的SQL语句 配置参数 slow_query_log = 1 slow_query_log_file = /data/mysql_data/node-1/mysql-slow.log long_query_time = 5

数据库学习之十一:mysql 备份恢复

南笙酒味 提交于 2020-05-09 10:32:23
十一、mysql 备份恢复 课程大纲 1、备份的原因 2、备份的方式 3、备份的工具 4、mysqldump备份工具的详解 5、mysqldump+mysqlbinlog实现增量备份 6、企业级备份策略及恢复案例 7、xtrabackup备份恢复实战 运维工作的核心简单概括就两件事: 第一个是保护公司的数据。 第二个是让网站能7*24小时提供服务(用户体验)。 1、备份的类型 冷备份:关闭数据、停止业务 温备份:枷锁备份 热备份:在线备份,不会影响业务。 2、备份方式 逻辑备份: 基于sql语句的备份: ①mysqldump--》建库,建表,数据插入 ②基于二进制日志:数据库的所有变化类的操作。 ③基于复制的备份:将二进制日志实时传递到另一台机器并且恢复。 物理备份: ①xtrabackup 进行物理备份 ②拷贝数据文件(冷备) 3、备份工具: ①mysqldump mysql原生自带很好用的逻辑备份工具 ②mysqlbinlog(根据始末position位置进行截取备份) 实现binlog备份的原生态命令 ③xtrabackup percona公司开发的性能很高的物理备份工具 mysqldump备份工具优缺点: 优点:逻辑备份工具,都是sql语句,都是文本格式,便于查看和编辑,便于压缩。 缺点:备份较慢,效率低。 mysqldump参数介绍: -u -p -S -h -P -A,

07 : mysql备份恢复(1)

一曲冷凌霜 提交于 2020-05-01 04:55:36
注意: mysql不同引擎备份方法不同。我们先来回忆一下和备份有关的知识点。 1、存储引擎 (1)InnoDB(默认使用引擎,也是企业常用的) 热备 独立表空间(每个表一个表空间) redo:重做日志,用来前滚 undo:回滚日志,用来回滚(未提交的事务) 行级别锁,基于索引来实现的,GAP锁 支持事务。 (2)MyISAM 温备 三个文件构成 表级锁 2、二进制日志 (1)记录的是什么? DDL、DCL这些种类语句,记录的就是操作语句 DML:他记录的已提交的事务日志,并支持多种格式记录(row、statement、mixed) (2)事件 开始位置(at xxx) 结束为止(下一个at) 一个事务,有多个事件做成(begin到commit) (3)截取二进制日志 1、分析二进制日志 找到要截取日志的开始位置(start-position)和结束位置(stop-position) mysqlbinlog --base64-output=decode=rows -vvv 2、截取日志 mysqlbinlog -d test --start-position=xxx --stop-position=xxx ----------------------------------------------------------------------- MySLQL备份 1、备份是为了什么

第六阶段·数据库MySQL及NoSQL实践第1章·章节一MySQL数据库

别等时光非礼了梦想. 提交于 2020-04-27 22:42:32
01 课程介绍 02 数据库管理系统介绍 03 MySQL安装方式介绍及源码安装 04 MySQL安装后的基本配置 05 MySQL体系结构-服务器、客户端模型 06 MySQL体系结构-实例、连接层、SQL层详解 07 MySQL体系解耦股-存储引擎层、逻辑结构、物理存储结构介绍 08 MySQL基本管理-MySQL连接命令基本使用 09 MySQL数据库启动和关闭 10 MySQL配置文件的介绍及使用 11 MySQL多实例配置 12 MySQL用户管理-用户权限定义 13 用户创建和删除 14 用户授权 15 MySQL接口命令介绍 16 SQL-DDL-库定义 17 SQL-DDL-表定义 18 SQL-DML-数据增删改 19 SQL-DQL-Where条件查询 20 SQL-DQL-order by limit排序与限制 21 SQL-DQL-表连接查询简单介绍 22 SQL-SQL-group by union 23 MySQL开发规范-字符集介绍 24 MySQL开发规范-数据类型及列属性 25 元数据获取-information_schema-1 26 元数据获取-information_schema-2 27 MySQL基础优化-索引管理 28 MySQL基础优化-explain使用 29 MySQL基础优化-索引设计的原则 30 MySQL存储引擎介绍及查看

linux下安装xtrabackup

走远了吗. 提交于 2020-04-23 14:54:36
下载需要的版本的xtrabackup软件包,链接如下: https://www.percona.com/downloads/XtraBackup/LATEST/ percona-xtrabackup-8.0.4只支持mysql8.0及以上版本备份,如果想备份8.0以下版本MySQL,需要下载percona-xtrabackup-2.4及以下版本 官方文档说明: xtrabackup8.0: xtrabackup2.4: 1.解压下载好的xtrabackup软件包: [root@B2B-bmc-db1 caoshaowu]# chown root.root percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz [root@B2B-bmc-db1 caoshaowu]# tar -zxvf percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz [root@B2B-bmc-db1 caoshaowu]# mv percona-xtrabackup-2.4.9-Linux-x86_64 /usr/xtrabackup2.4 2.修改环境变量,将xtrabackup的bin目录放到PATH变量里 [root@B2B-bmc-db1 bin]# vi /etc/profile export PATH=/data/mysql

MySQL新增从库

一世执手 提交于 2020-04-18 09:12:16
项目背景描述: 在项目的开始只有一个MySQL实例在运行,后期因为安全性,压力,备份等原因需要在此实例的基础上面新增一个从库。 分析: MySQL主从是基于binlog日志来实现的,那么需要主服务器开启binlog,此选项默认是关闭。我这边服务器在部署的时候就开启了,因为使用binlog可以用来恢复MySQL数据,并且还为以后做主从做好准备,所以我们推荐大家在部署主服务器的时候就开启此选项。另外在做主从的时候还需要主库和从库的server-id唯一,server-id在做主从的时候也是相当关键的一荐参数。 另外因为我们MySQL主库已经运行一段时间了,里面已经有相当多数据,我们需要将这些数据备份出来,然后从库再从备份的节点同步数据,这样来保持主从的数据一致性,并且在操作过程中最好不要影响我们的业务正常运行。最终决定使用xtrabackup来备份数据,因为用xtrabackup备份数据的时候不需要琐表,但只限于InnoDB引擎的数据库和XtraDB引擎的数据库,对于MyISAM引擎的数据库还是会琐表,刚好我们的数据库引擎使用的是InnoDB 操作步骤: 第一步:部署从数据库服务器,最好数据库版本一致,部署过程省略 第二步:修改配置文件 # 以下为主服务器需要修改的配置,server_id不一定为82,可以为任何一个数字,比如我们可以用本机的IP最后一位 [mysqld]

MySQL 5.6表空间传输

廉价感情. 提交于 2020-04-11 10:49:02
在MySQL 5.6 Oracle引入了一个可移动表空间的特征(复制的表空间到另一个服务器)和Percona Server采用部分备份,这意味着你现在可以备份单个数据库或表;由于Percona Server 5.6的出现,innodb_import_table_from_xtrabackup是过时的Percona Server实现Oracle MySQL的可移动表空间的功能,就是在服务器之间复制的表空间的能力(table.ibd)。让我展示通过一个例子,我将采取选择性表部分备份而不是一个完整的MySQL服务器并且在线恢复它,而不需要关闭MySQL服务器 该实验用到一个备份工具percona xtrabackup,是一个开源且免费的MySQL数据库热备份软件,执行非阻塞InnoDB和xtradb数据库备份,想当好用, 最重要Percona支持部分备份模式,对应于特定的数据库或表格备份。 本实验环境: 服务器端版本:percona-5.6.21版本(下载地址: http://www.percona.com/downloads/Percona-Server-5.6/Percona-Server-5.6.21-70.1/binary/tarball/Percona-Server-5.6.21-rel70.1-698.Linux.x86_64.tar.gz ) 附加:percona-5.5