《MySQL 备份类型》一节曾提到过过冷备份,冷备份(即离线备份)是MySQL中最简单的备份方式,操作时仅需将数据库的物理文件完整复制至其他存储路径即可完成。

冷备份通过直接复制数据库的物理文件实现,操作简单且能保证备份完整性,恢复速度较快。但进行备份时必须停止MySQL服务器,这将导致服务中断、用户无法访问,因此通常仅适用于非核心或可容忍停机的业务场景。

冷备份的优点如下:

优点缺点
备份与恢复简便高效:仅需复制文件即可完成备份,恢复时也只需将文件放回指定位置,无需执行SQL或重建索引。需停止服务:必须关闭数据库,导致服务中断,无法进行其他操作。
跨平台/版本兼容性好:备份文件易于在不同操作系统和MySQL版本间恢复。占用空间大:InnoDB表空间包含undo段、插入缓冲等额外数据,备份文件较大。
安全可靠,维护成本低:物理备份不易出错,安全性高,运维需求简单。扩展存储性能低:若备份至磁带等外部存储,速度较慢。
恢复速度快:无需逻辑转换,直接文件操作,恢复效率高。跨平台限制:可能受操作系统、MySQL版本、文件名大小写、浮点数格式等影响。

MySQL数据库的物理文件主要包括数据文件、日志文件及配置文件等。除系统共有的日志和系统表数据文件外,各存储引擎在磁盘上的数据组织方式也存在差异,具体可参考《不同存储引擎的数据表在磁盘中的表示方式》一节。

接下来将为您演示如何进行冷备的备份与恢复操作:

1. 准备阶段:数据刷盘

FLUSH TABLES;

数据刷盘

2. 停止MySQL服务

2.1 通用命令

mysqladmin -u root -p shutdown

2.2 Linux系统

systemctl stop mysqld

2.3windows系统

net stop mysql

我的是Windows,win+x+a进入Power Shell,输入

net stop mysql80;

即可完成停止MySQL服务

Windows关闭mysql服务

3. 进行备份操作

拷贝整个数据文件夹到另一台备份服务器或本地其他磁盘上。

Linux系统:

远程备份:scp -r /var/lib/mysql/ user@backup-server:/backup-path/

本地备份:sudo cp -r /var/lib/mysql /path/to/backup/directory/

Windows系统:(先做本地备份,再将备份文件传输到远程)

本地备份:xcopy "C:\ProgramData\MySQL\MySQL Server 8.0\Data" "D:\MySQL_Backup\Data" /E /H /Y

( /E 复制所有子目录,包括空目录;/H 复制隐藏和系统文件;/Y 静默覆盖)

4. 恢复数据

4.1 用备份数据替换目标数据目录

4.2 重新启动MySQL服务:

Linux系统:

systemctl start mysqld

Windows系统:

net start mysq

点赞(1)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)