服务器版本
#cat /etc/os-release
openEuler 22.03 (LTS-SP4)
数据库与数据信息
数据库版本:
#mysql --version
mysql Ver 8.4.5 for Linux on x86_64 (MySQL Community Server - GPL)
数据库:testdb1
表t_1,t_2,t_3,t_4
表初始数据:


物理冷备份与恢复
物理冷备份:
停止mysql服务
#systemctl stop mysql

打包压缩data目录:
#cd /opt/software/mysql/mysql-8.4.5-linux-glibc2.28-x86_64/data
#tar -zcvf $(date +%Y%m%d%H%M%S).tar.gz *


这样冷备份就完成了,这种备份简单,适合非核心业务场景,能很好地保证数据库的完整性。由于备份过程简单直接,所以备份和恢复速度都比较快。但缺点也很明显,需要停机操作,这在一些对业务连续性要求较高的场景中不太适用。
物理恢复:
模拟数据丢失:

停止mysql服务
#systemctl stop mysql

备份现有data目录:
执行:
#mv data data_bak2

然后新建一个空data目录:
执行:
#mkdir data
将物理冷备份的压缩文件包复制到data目录
执行:

将备份的数据解压恢复到data目录:
#tar -xzf 20250607111223.tar.gz

启动mysql服务:
#systemctl start mysql

登录数据库查看数据是否恢复:


恢复成功!
Mysqldump逻辑热备份与恢复
mysqldump常用选项
--databases或-B:备份指定的数据库
--all-databases或-A:备份所有数据库
-d或--no-data:用于备份数据库的结构(即表的创建语句)但不包括表中的数据
--flush-logs或-F :在备份开始前刷新 MySQL 服务器的日志文件
--single-transaction:使用单一事务来备份数据
--lock-all-tables :备份过程中锁定所有表
--master-data=2 :用于备份二进制日志的位置信息,用于设置主从复制
--set-gtid-purged=OFF :用于关闭 GTID 信息的输出
举例:
mysqldump -u 用户 -p密码 --databases

最低0.47元/天 解锁文章
2163

被折叠的 条评论
为什么被折叠?



