开源数据库Mysql_DBA运维实战 (备份与还原)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
日志服务 SLS,月写入数据量 50GB 1个月
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 开源数据库Mysql_DBA运维实战 (备份与还原)

Mysql数据库的备份与还原🍃



备份对于数据库而言是至关重要的。当数据文件发生损坏、MySQL服务出现错误、系统内核崩溃、计算机硬件损坏或者数据被误删等事件时,使用一种有效的数据备份方案,就可以快速解决以上所有的问题。MySQL提供了多种备份方案,包括:逻辑备份、物理备份、全备份以及增量备份,你可以选择最适合自己使用的方式备份数据。


物理备份通过直接复制包含有数据库内容的目录与文件实现,这种备份方式适用于对重要的大规模数据进行备份,并且要求实现快速还原的生产环境。典型的物理备份就是复制 MySQL数据库的部分或全部目录,物理备份还可以备份相关的配置文件。但采用物理备份需要MySQL处于关闭状态或者对数据库进行锁操作,防止在备份的过程中改变发送数据。物理备份可以使用mysqlbackup对InnoDB数据进行备份,使用mysqlhotcopy对MyISAM数据进行备份。另外,也可以使用文件系统级别的cp、scp、tar、rsync等命令。


逻辑备份通过保存代表数据库结构及数据内容的描述信息实现
,如,保存创建数据结构以及添加数据内容的SQL语句,这种备份方式适用于少量数据的备份与还原。逻辑备份需要查询MySQL服务器获得数据结构及内容信息,因为需要查询数据库信息并将这些信息转换为逻辑格式,所以相对于物理备份数据结构及内容信息,因为需要查询数据库信息并将这些信息转换为逻辑格式,所以相对于物理备份而言比较慢。逻辑备份不会备份日志、配置文件等不属于数据库内容的资料。逻辑备份的优势在于不管是服务层面、数据库层面还是数据表层面的备份都可以实现,由于是以逻辑格式存储的,所以这种备份与系统、硬件无关。


全备份将备份某一时刻所有的数据,增量备份仅备份某一段时间内发生过改变的数据。通过物理或逻辑备份工具就可以完成完全备份,而增量备份需要开启MySQL二进制日志,通过日志记录数据的改变,从而实现增量差异备份。


mysqldump参数大全:https://blog.51cto.com/SongR/7092848

percona-xtrabackup官方站点:https://www.percona.com/


备份🍃


关于备份的原因⭐

防止丢失和误删

备份的目标⭐

1.数据的一致性

2.服务的可用性


备份技术⭐


物理备份/冷备份

直接复制数据库文件,适用于大型数据库环境,不受存储引擎的限制,但是不能恢复到不同的MySQL版本。

tar    cp     scp

拷贝数据的   优点    快  

                     缺点    服务停止 后才可拷贝


逻辑备份/热备份


备份的是建表,建库,插入等操作所执行SQL语句(DDL  DML DCL), 适用于中小型数据库。

mysqldump   mydumper

效率相对比较低


备份种类⭐

完全备份

土财主专用(金融)


增量备份

连续回复

f39744a8721d40ebb531feae43bfa59c.png


特点:

因每次仅备份自上一次备份(注意是上一次,不是第一次)以来有变化的文件,所 以备份体积小,备份速度快,但是恢复的时候,需要按备份时间顺序,逐个备份版本进行恢复,恢复时间长。


差异备份

跳跃恢复

34e81bee4b1d448aa435446a5466c1c6.png


特点:

占用空间比增量备份大,比完整备份小,恢复时仅需要恢复第一个完整版本和最后 一次的差异版本(包含所有的差异),恢复速度介于完整备份和增量备份之间。


还原🍃


percona-xtrabackup🍃



40af6eebb43b476c8dd0e8a10b881d61.png


Percona XtraBackup是一个开源的MySQL数据库热备工具,允许你在备份的时候不锁表。支持备份的存储引擎有InnoDB, XtraDB, MyISAM ;支持的MySQL版本 5.1 5.5, 5.6 , 5.7;无论是7X24的高负载数据库环境,还是低TPS的数据库环境,Percona XtraBackup都能完成备份而不影响生产环境


Percona XtraBackup是世界上唯一开源免费的MySQL热备工具,可以对InnoDB 和 XtraDB存储引擎的表进行非堵塞备份。


为mysql做增量备份;在mysql服务器之间做在线表迁移;使创建replication更加容易;备份mysql而不增加服务器的负载。



percona是一家老牌的mysql技术咨询公司。它不仅提供mysql的技术支持、培训、咨询,还发布了mysql的分支版本--percona Server。并围绕percona Server还发布了一系列的mysql工具。


特点


1 快速可靠完成备份

2 备份期间不会打断正在进行的事务

3 由于有压缩备份选项可以节省磁盘空间和网络带宽

4 自动的备份校验

5 更快的恢复速度,更短的恢复时间


备份过程


1.首先拷贝Innodb表的数据文件(利用两个进程 一个拷贝文件一个拷贝变化)

2.如果支持 backup lock,利用LOCK TABLE FOR BACKUP拷贝非Innodb表的数据文件(percona MySQL 5.6+ 支持oracle的MySQL支持吗?)

3.使用 LOCK BINLOG FOR  BACKUP 禁止所有改变Exec_Master_Log_Pos 或 Exec_Gtid_Set的操作。完成redo log的备份和获取binlog的日志中的坐标输出到备份目录。然后释放锁


2763c3084f7a4bcfbdffcb7998d563ed.png


实例


1-1 完全备份流程

#连接数据库,开始备份。

innobackupex --user=root --password='QianFeng@123' /xtrabackup/full

#查看备份目录。数据库,配置文件,日志文件


ls /xtrabackup/full/

ls /xtrabackup/full/2017-08-01_00-00-02/

#观看二进制日志位置

cat /xtrabackup/full/2017-08-01_00-00-18/xtrabackup_binlog_info

1-2 完全恢复流程

#停止数据库
systemctl stop mysqld

#清理环境(模拟损坏)

rm -rf /var/lib/mysql/*

rm -rf /var/log/mysqld.log

#生成回滚日志(指定备份点)

innobackupex --apply-log /xtrabackup/full/2017-08-01_00-00-18/

#恢复文件
innobackupex --copy-back /xtrabackup/full/2017-08-01_00-00-18/

#登陆验证

ls /var/lib/mysql

chown -R mysql.mysql /var/lib/mysql

systemctl start mysqld

mysql -uroot -p'QianFeng@123'
2-1 增量备份流程

#使用指定数据库

create database testdb;
use testdb;

create table test(id int);
insert into test values (1);
select * from test;

  mysql> select * from test;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)


#完整备份(周一)


#增量备份(周二)

rm -rf /xtrabackup/*   ;
date 09010000
innobackupex --user=root --password='QianFeng@123' /xtrabackup
ll /xtrabackup/
date 09020000   更新时间
mysql -uroot -p'QianFeng@123' -e  'insert into testdb.test values (2)'
innobackupex --user=root --password='QianFeng@123' 
--incremental /xtrabackup/ 
--incremental-basedir=/xtrabackup/2017-09-01_00-00-04
basedir基于周一的备份。会生成一个今天的。
ls  /xtrabackup/


 

2-2 增量恢复流程


#停止数据库

systemctl stop mysqld

#清理环境

rm -rf /var/lib/mysql/*

rm -rf /var/lib/mysql/*

#周一

innobackupex --apply-log --redo-only /xtrabackup/2017-09-01_00-00-04 回滚合并

#周二

innobackupex --apply-log --redo-only /xtrabackup/2017-09-01_00-00-04

--incremental-dir=/xtrabackup/2017-09-02_00-00-26

#恢复

innobackupex --copy-back /xtrabackup/2017-09-01_00-00-06  

chown -R mysql.mysql /var/lib/mysql

systemctl start mysqld


登陆查询记录。请思考记录是第几天的,想回复3,怎么办

 

systemctl stop mysqld
innobackupex --apply-log --redo-only /xtrabackup/2017-09-01_00-00-04  
--incremental-dir=/xtrabackup/2017-09-03_00-00-27
# rm -rf /var/lib/mysql/*
innobackupex --copy-back /xtrabackup/2017-09-01_00-00-04 
chown -R mysql.mysql /var/lib/mysql
systemctl start mysqld
mysql -uroot -p'QianFeng@123' -e 'select * from testdb.test'


mysqldump + binlog🍃




70e8f4fdc3be4bd493174ddaed7ac3c1.pngedbd888da14141819a546721218e71a4.pnge599a4a1228346a88949358f6de758ab.png34425ec2aabd4718af189db8fa236e1d.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
人工智能 运维 监控
运维也能“先演练后实战”?聊聊数字孪生的那些神操作
运维也能“先演练后实战”?聊聊数字孪生的那些神操作
105 0
|
5月前
|
人工智能 运维 安全
基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】
在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。
|
4月前
|
缓存 运维 安全
7天精通电商API:从接入到运维的完整实战手册
本文全面解析电商API接口技术,从基础概念到高阶应用,涵盖商品、订单、支付与营销等核心模块,并深入探讨性能优化、安全防护与智能化发展方向,助你掌握驱动数字商业的核心技术。
|
1月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
319 10
|
2月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
126 3
|
2月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
2月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。

推荐镜像

更多