包头市做网站公司,php网站 mysql数据库配置文件,湖北省电力建设三公司网站,分站城市网站如何做seo目录
1. 前言
2.准备工作
2.1.环境信息
2.2.创建备份目录
2.3.配置/etc/my.cnf文件
2.4.授予root用户BACKUP_ADMIN权限
3.全量备份
4.准备备份
5.数据恢复
6.总结 实战演练#xff1a;利用Percona XtraBackup执行MySQL全量备份操作详解 1. 前言
本文…目录
1. 前言
2.准备工作
2.1.环境信息
2.2.创建备份目录
2.3.配置/etc/my.cnf文件
2.4.授予root用户BACKUP_ADMIN权限
3.全量备份
4.准备备份
5.数据恢复
6.总结 实战演练利用Percona XtraBackup执行MySQL全量备份操作详解 1. 前言
本文将继续上篇【MySQL备份】Percona XtraBackup基础篇中对Percona XtraBackup的探索深化讨论其全量备份技术及详尽的恢复策略。本章节旨在构建一套完备的备份恢复指南进一步巩固您的数据库安全防线确保数据资产的万无一失。
在本篇内容中我们将细致剖析Percona XtraBackup执行全量备份的高效实践这一核心功能不仅能够实时捕捉数据库状态的完整映像还依托其先进的日志处理机制保证备份数据的绝对一致性和可靠性。您将学习到如何运用简洁明了的命令行指令安全无碍地将数据库快照存置于指定位置为数据保护筑起第一道坚固壁垒。
紧接着文章将引领您步入数据恢复的精密艺术殿堂。从备份到恢复的无缝对接是检验备份方案成色的真正试金石。我们将逐步拆解恢复流程的每一个关键环节从安全停机、数据迁移与权限配置到细腻的预处理步骤直至数据库服务的顺利重启与健康状况的全面核查。每一步都精心设计确保在面对不可预见的数据危机时能够迅速恢复业务运营维持数据连续性和服务稳定性。
通过本篇的深度解析您不仅能掌握Percona XtraBackup全量备份的精髓更能领略其在数据恢复领域的独到之处为您的数据库管理技能树增添一份坚实保障。无论是对初学者的启蒙还是对资深DBA的技能进阶本篇章节均是不可或缺的知识宝典。
2.准备工作
2.1.环境信息
主机IP操作系统Mysql版本XtraBackup版本172.17.0.2CentOS Stream release 98.0.378.0.35
2.2.创建备份目录
mkdir -p /data/backup
2.3.配置/etc/my.cnf文件
[xtrabackup]
hostlocalhost
port3306
userroot
password123456
socket/var/lib/mysql/mysql.sock
target_dir/data/backup
2.4.授予root用户BACKUP_ADMIN权限
grant BACKUP_ADMIN on *.* to root% LOCK INSTANCE FOR BACKUP 是MySQL 8.0引入的一种新的备份相关SQL语句主要用于在进行数据库备份时以一种更为细粒度和高效的方式控制对数据库实例的访问以保证备份的一致性。这个命令的工作原理及特点如下 目的在执行备份操作时此命令用于获取一个实例级别的锁该锁允许在备份过程中继续执行DML数据操作语言如INSERT、UPDATE、DELETE操作同时防止那些可能导致数据快照不一致的DDL数据定义语言如CREATE、ALTER、DROP操作和某些管理操作。这样可以在不影响数据库服务的情况下进行备份特别适用于需要最小化服务中断的在线备份场景。 权限需求执行LOCK INSTANCE FOR BACKUP语句需要用户具备BACKUP_ADMIN权限。这是一个专门为了备份相关的高级操作而设计的权限级别。 兼容性此特性是在MySQL 8.0及以上版本中引入的早于8.0的MySQL版本并不支持这一语句因此在使用旧版本时可能需要依赖其他机制如FLUSH TABLES WITH READ LOCK来确保备份的一致性。 解锁执行备份后需要使用UNLOCK INSTANCE语句来释放之前由LOCK INSTANCE FOR BACKUP获得的锁从而恢复正常操作。 与传统备份命令的对比相比于传统的备份方法如使用FLUSH TABLES WITH READ LOCKLOCK INSTANCE FOR BACKUP提供了更小的性能影响因为它不会完全阻止写操作只是限制了可能引起数据不一致的活动更适合于高可用性和高性能要求的生产环境。 3.全量备份
登陆数据库查看现有的的数据可以看到现在有一个tes1的库 进行全量备份最后看到 completed OK!代表成功
xtrabackup --backup --target-dir/data/backup --datadir/var/lib/mysql --userroot --password123456 --host172.17.0.2 --port3306 在/data/backup目录下可以看到备份的数据 登陆数据库删除tes1库 4.准备备份
使用Percona XtraBackup进行全量备份后在某些特定场景下确实可以直接使用备份数据但这并不意味着不需要准备备份prepare step。备份准备是确保数据一致性的一个重要步骤尤其是在进行数据恢复操作之前。具体是否需要准备备份取决于你的备份目的和后续操作 立即恢复: 如果你计划立即在相同或类似的MySQL环境中恢复这个备份你应该执行备份准备步骤。这一步骤会应用未完成的事务日志redo log确保备份数据的一致性并将数据文件转换成可以直接用于启动MySQL服务的状态。 xtrabackup --prepare --target-dir备份目录 备份存档或复制: 如果你只是想创建一个备份副本用于存档或者复制到其他服务器上理论上可以在不进行准备的情况下直接复制备份目录。但请注意未经准备的备份在恢复时仍需经过准备步骤才能使用。 增量备份基础: 如果计划在这个全量备份的基础上执行增量备份也不需要立即准备这个全量备份。增量备份会记录自上次备份以来的变化因此全量备份保持原样即可。
总结来说尽管在某些情况下全量备份后直接存档或作为增量备份基础可以不立即执行准备步骤但在准备将数据用于恢复或确保数据一致性时备份准备是必不可少的。最佳实践中建议在备份流程中包括准备步骤以确保备份数据随时可用于快速且可靠地恢复。
5.数据恢复
停止MySQL服务进行恢复数据
systemctl stop mysqld
rsync -avrP /data/backup/ /var/lib/mysql/ 恢复数据时一定要记得更改数据目录下的文件拥有者以及所属组权限否则mysql无法启动
chown -R mysql:mysql /var/lib/mysql 重启数据库查看数据是否恢复可以看到之前被删除的tes1数据库已经成功恢复 6.总结
需要注意的是在执行恢复之前需要关闭MySQL服务器。您不能恢复到正在运行的mysqld实例的数据目录导入部分备份时除外。由于文件的属性将被保留在大多数情况下您需要mysql在启动数据库服务器之前将文件的属主和属组更改为mysql.mysql。