MySQL完全备份与恢复

本文深入解析数据库备份的分类,包括物理备份(冷备份、热备份、温备份)和逻辑备份,以及不同备份策略如完全备份、差异备份和增量备份的特点与应用场景。详细介绍了MySQL完全备份的操作步骤,使用mysqldump工具进行单个库、多个库和所有库的备份方法,以及数据恢复流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库备份的分类

从物理与逻辑的角度,备份可以分为物理备份与逻辑备份

(1)物理备份:对数据库操作系统的物理文件(如数据文件,日志文件)的备份。物理备份又可以分为冷备份与热备份。

                 冷备份:在关闭数据库多大时候进行。

                 热备份:数据库正处于运行状态,这种备份以来与数据库的日志文件。

                 温备份:数据库锁定表格(不可写入但可读)的状态下进行。

(2)逻辑备份:对数据库逻辑组件的备份

从数据库的文件备份策略上可以分为:完全备份、差异备份、增量备份

(1)完全备份:对数据库进行的完整备份

优点:备份和恢复操作简单方便

缺点:数据存在重复,占用空间,备份和恢复时间长

(2)差异备份:备份那些自从上次的完全备份之后修改的文件

(3)增量备份:只有那些在上次完全备份或差异备份后别修改的文件

MySQL完全备份操作

直接打包数据库文件夹/usr/local/mysql/data/ 或 /var/lib/mysql

关闭MySQL

tar jcf mysql_all-$(date +%F).tar.xz /usr/local/mysql/data

mkdir bak

模拟数据丢失

mv /usr/local/mysql/data/*bak
恢复数据

tar xf mysql_all.....

cd /usr/local/mysql/data

mv * /usr/local/mysql/data

启动MySQL查看表,应该已经可以查见了。

使用备份工具mysqldump。

这是MySQL自带的备份工具,对MySQL进行备份相当方便。通过该命令工具可以将制定的库、表或全部的库导出为sql脚本,在需要恢复时进行数据恢复。

(1)对单个库进行完全备份

格式:mysqldump -u用户名 -p密码 【选项】【数据库名】>/备份路径/备份文件名

mkdir /backup

mysqldump -uroot -p123 auth > /backup/auth-$(date +%Y%m%d).sql

echo $?

cat /backup/auth-...sql

(2)对多个库进行完全备份

格式:mysqldump -u用户名 -p密码 【选项】--databases【数据库名】>/备份路径/备份文件名

mysqldump -uroot -p123 --databases mysql auth > /backup/msyql+auth-$(date +%Y%m%d).sql

(3)对所有库进行完全备份

格式:mysqldump -u用户名 -p密码 【选项】--opt --all-databases【数据库名】>/备份路径/备份文件名

# --opt加快备份呢速度,当备份数据大时使用

(4)对表进行完全备份

格式:mysqldump -u用户名 -p密码 【选项】数据库名   表名>/备份路径/备份文件名

(5)对表结构进行备份

格式:mysqldump -u用户名 -p密码 【选项】-d 数据库名  表名>/备份路径/备份文件名

使用mysqldump备份后,恢复数据库

1.source 命令

登录到mysql数据库

执行source命令

source /backup/mysql_all....sql

2.mysql命令

格式:mysql -u用户名 -p密码 < 库备份脚本的路径

           mysql -u用户名 -p密码    库名   < 库备份脚本的路径

MySQL备份思路

1.定期实施备份,指定备份计划或策略,并严格遵守

2.除了进行完全备份,开启MySQL服务器的日志功能是很重要的

3.使用统一和易理解的备份名称,推荐使用库名或者表名加上时间的命名规则,不要使用back1之类没有意义的名字

 

就先这样吧,下次在写数据库的增量备份。是机会还要写下备份脚本,这样以后每次备份都会方便的多。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值