Mysqlbackup 8.0.23 备份还原图解

Mysqlbackup简介

mysqlbackup是mysql 企业版里的一个数据库备份还原工具。它是一个多平台,高性能的工具,提供丰富的功能,如热(在线)备份,增量和差异备份,选择性备份和恢复,支持直接的云存储备份,备份加密和压缩等

:当前验证环境CentOS 8 X86 64、mysql 8.0.23、mysqlbackup 8.0.23

配置环境变量

# 编辑用户环境变量
vi ~/.bashrc
#新增如下内容(export MYSQLBACKUP...、${MYSQLBACKUP}/bin:):
export MYSQLBACKUP=/root/softwares/mysql/mysqlbackup/mysql-commercial-backup-8.0.23-linux-glibc2.12-x86_64/bin
export PATH="${MYSQLBACKUP}/bin:$PATH:/opt/mssql-tools/bin"
source  ~/.bashrc#验证是否可以直接使用mysqlbackup命令
mysqlbackup --help | wc -l

备份前准备

-- 创建用户并备份相关赋权
create user 'mysqlbak'@'localhost' identified by 'root@1234T5';
GRANT SELECT, BACKUP_ADMIN, RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.*TO `mysqlbak`@`localhost`;
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbak'@'localhost';
GRANT CREATE, INSERT, DROP, UPDATE, SELECT, ALTER ON mysql.backup_historyTO 'mysqlbak'@'localhost';

数据库全备

# 对数据库进行全备
cd /root/softwares/mysql/mysqlbackup/mysql-commercial-backup-8.0.23-linux-glibc2.12-x86_64/bin./mysqlbackup --user=mysqlbak --password='root@1234T5' --socket=/var/lib/mysql/mysql.sock --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi --backup-dir=/root/workspace/mysqlbackup/bakSpace backup-to-image

:可将mysqlbackup配置到环境变量里,当前演示环境未配置。

备份文件校验

#通过校验命令查看备份的文件是否损坏。./mysqlbackup --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi validate

备份内容查看

#查看备份的内容./mysqlbackup --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi list-image

数据库还原

还原前

-- 还原前先在trial数据库里往tmp_test表里插入一条记录、创建新表tmp_newOne以做还原的对比。具体脚本见下:
use trial;
SELECT * FROM tmp_test;
INSERT INTO tmp_test VALUES(3,'Afterbak');
COMMIT;CREATE TABLE tmp_newOne(id int);

还原中

# Step 1: 关闭数据库
mysqladmin -uroot -p'root1234' shutdown# Step 2: 还原
./mysqlbackup --defaults-file=/etc/my.cnf --user=mysqlbak --backup-image=/root/workspace/mysqlbackup/bakSpace/mysqlbak_20210423.mbi --backup-dir=/root/workspace/mysqlbackup/bakSpace_restore --datadir=/data/mysql --force copy-back-and-apply-log

:这里因为是用原来的数据目录,所以加了参数--force

#Step 3 赋权数据文件mysql用户能访问。
chown -R mysql:mysql /data/mysql

:如果这里不赋权,后续mysq数据库重启时会报错,详见问题处分析。

还原后

Step 1 重启mysql数据库服务

#重启mysql数据库
service mysqld start

Step 2 还原前后对比

还原前:

还原后:

由此可见数据库已经还原到之前备份时的状态。

问题

版本兼容

Issue 1:该问题是因为mysqlbackup与mysql版本不一致,这里需要严格保证两软件的版本号一致(大小版本都得一致)。

解决方法: 1 下载与mysql适配的mysqlbackup

2 如果mysqlbackup版本较高,升级mysql来适配。

备份时权限不足

Issue 2:备份时提示权限不足

解决方法:该情况主要时前期备份准备环节时未赋予BACKUP_ADMIN权限,参考准备环节赋权即可。

无法连接Socket

Issue 3:备份时报错无法连接socket

解决方法:参数里指定 --socket=/var/lib/mysql/mysql.sock,详见全备处命令。

还原后数据库启动失败

Issue 4:还原后启动数据库报错。

解决方法:

Step 1 首先通过 /etc/my.cnf找到mysql的日志所在目录:log-error=/var/log/mysqld.log

Step 2 通过vi、tail命令或者其它文本文件分析日志文件,发现是权限问题:

Step 3 对mysql数据文件赋权 chown -R mysql:mysql /data/mysql即可。

:如果按照上述操作无该错误。

Mysqlbackup备份还原初识相关推荐

  1. Mysqlbackup 8全备增量备份还原案例

    Mysqlbackup 8增量备份还原图解 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 注:1 当前验证环境CentOS 8 X8 ...

  2. mysql备份工具Xtrabackup增量备份还原图解

    Xtrabackup增量备份还原图解 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. XtraBackup是Percona 提供的免费 ...

  3. mysql 5.6.17 备份还原_mysql 备份和恢复

    7. 备份和恢复 本章主要会介绍: 1.备份的类型:逻辑备份,物理备份,全备和增量4种 2.创建备份的方法 3.还原方法,包括还原到时间点 4.备份计划,压缩和加密 5.表维护,恢复损坏的表 7.1备 ...

  4. Linux九阴真经之九阴白骨爪残卷13(LVM的备份还原,恢复最新状态)

    一.备份策略 1.备份的类型 类型1: 热备份:读写不受影响(MyISAM不支持热备,InnoDB支持热备) 温备份:仅可以执行读操作 冷备份:离线备份,读写操作均中止 类型2: 物理备份:复制数据文 ...

  5. 第九集(第一部分)思科交换机配置文件及IOS备份还原

    本视频是Linux系统工程师集训之网络部分视频课程的第九集. 主要内容为思科交换机.路由器的IP互连.配置备份还原.交换机IOS备份还原升级. 工作中发现很多搞Linux系统运维的人由于缺乏基础的网络 ...

  6. 创建用于存放备份还原文件的网络文件夹(DPM配置管理系列七)

    请在用于存储的服务器中创建备份还原文件的网络共享文件夹,如下图所示: 转载于:https://blog.51cto.com/tingdongwang/895589

  7. SQL Server:日志备份和差异备份还原中的常见问题示例

    日志备份和差异备份还原中的常见问题示例 代码  1 --创建测试  2 CREATE DATABASE db  3 GO  4   5 --正常备份  6 BACKUP DATABASE db TO  ...

  8. SQL点滴12—SQL Server备份还原数据库中的小把戏

    原文:SQL点滴12-SQL Server备份还原数据库中的小把戏 备份数据库时出现一个不太了解的错误 ,错误信息"is formatted to support  1 media fami ...

  9. MYSQL数据库备份还原,并还原到最新状态(mysqldump,xtrabackup)

    启用二进制日志文件 vim /etc/my.cnf 配置文件位置及文件名根据实际情况确定 sql_log_bin=ON|OFF:是否记录二进制日志,默认为ON //在需要的时候设置为OFF log_b ...

最新文章

  1. 程序员的抱枕也太高大上了吧! | 每日趣闻
  2. linux 强制刷新文件,vim 如何刷新或重载reload 已打开的文件
  3. hdu4998 旋转坐标系
  4. 中国发电机行业应用前景与投资策略分析报告2022版
  5. spark分区增减、JavaFX基本操作和HDFS NN DN概念
  6. python openstack oslo_config使用_OpenStack配置解析库oslo.config的使用方法
  7. 面试必会系列 - 3.1 Redis知识点大汇总(数据类型,内存模型,持久化,缓存击穿,集群,一致性哈希等等)
  8. html5做一个皮卡丘,用css实现一个皮卡丘
  9. 实用 JavaScript 调试技巧
  10. Java EE 7批处理和魔兽世界–第2部分
  11. 直播丨墨天轮邂逅MySQL之父,腾讯云CDB/CynosDB技术揭秘之自主可控、前沿探索
  12. 移动应用开发 jQuery Mobile
  13. QFN封装芯片手工焊接方法
  14. 【游戏运营】【笔记】 谈谈对游戏运营的理解
  15. excel汇总软件如何快速汇总多个表格数据
  16. 现在公司都不缺人了?软件测试工作经历3年,面试居然被坑了....
  17. 洛谷P1458 [USACO2.1]顺序的分数 Ordered Fractions
  18. css情景动画,css3中的动画属性animation应用场景及编写代码教程
  19. table中英文值显示其对应中文
  20. C语言:输出斐波那契数列前二十项

热门文章

  1. TK:绘制BoundaryEdges边界边用法实战
  2. VTK:vtkBalloonWidget用法实战
  3. JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码)
  4. Boost.PolyCollection 性能测试
  5. boost::outcome_v2::std_result用法的测试程序
  6. boost::hana::slice_c用法的测试程序
  7. boost::geometry::model::segment用法的测试程序
  8. boost::fusion::filter_view用法的测试程序
  9. boost::visit_each的用法实例
  10. boost::noinit_adaptor用法实例