Mysql 数据备份

本文详细介绍了MySQL数据库的两种备份方法,包括其原理和操作步骤,帮助读者理解如何确保数据安全。

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

一、数据库备份的分类
备份方式分很多种,从物理与逻辑的角度,备份可分为以下几类:
1. 物理备份
指对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
物理备份是磁盘块为基本单位将数据从主机复制到备机
物理备份又可以分为脱机备份(冷备份)和联机备份(热备份)
冷备份(脱机备份):在关闭数据库时进行的备份操作,能够较好地保证数据库的完整性,
需要关 mysql 服务,读写请求均不允许状态下进行;
热备份(联机备份):在数据库运行状态中进行操作,这种备份方法依赖于数据库的日志文件,备份的同时,业务不受影响。
温备份:服务在线,但仅支持读请求,不允许写请求;
2. 逻辑备份
逻辑备份是以文件为基本单位将数据从主机复制到备机
指对数据库逻辑组件(如表等数据库对象)的备份
从数据库的备份策略角度来看,备份又可分为完全备份、差异备份和增量备份

 三、MySQL 实现备份的两种方式

1)使用 select into outfile load data infile 来进行备份和 恢复
--- 表数据(记录)导出
-- 导出为 txt 文件
先决条件:
1"secure_file_priv"设置为空
2、对目录具有写权限
select * from utemp1 into outfile '/var/lib/mysql-files/utemp1data.txt';
use student;
show VARIABLES like "secure_file_priv";
select * from utemp1 into outfile '/var/lib/mysql-files/utemp1data.txt';
- - 恢复导入
-- load data 命令 --导入表数据(记录)
-- 将导出的 utemp1 表数据文件形如如下形式:导入到另一个库 ll 中的 temp 表中
-- 要求两个 temp 表应该是字段类型相同
-- 准备工作 建一个数据库 ll,一个表 temp
-- 不支持 远程 本地可以
create database ll;
desc utemp1;
use ll;create table temp(
id int primary key auto_increment,
`name` varchar(20) not null
)
select * from temp;
-- mysql
local
load data infile '/tmp/utemp1data.txt' into table temp;
2)使用 mysqldump 来进行备份和回复
-- mysqldump
-- dump 出表 utemp1
-- mysqldump -uroot -p tt utemp1>utemp1.sql
-- dump 出库 tt
-- mysqldump -uroot -p tt>tt.sql
-- dump 所有的数据库及数据库表
-- mysqldump -u root -p --all-databases>mysqldatabases.sql;
-- mysql 的数据库导入"<" shell 里面操作
-- 新建一个数据库
create database tttt
-- 回到 mysql 接口
-- mysql -u root -p654321 tttt<tt.sql
-- 进入 mysql 验证
Use tttt;
show tables;
表示导入成功

 

-- mysql 的数据库导入 "source" 进入 mysql 操作
-- 先导出到/var/lib/mysql-files/demo1.sql 才能导入
cd /var/lib/mysql-files 目录中
mysqldump -uroot -p tt>tt.sql
mysql -u root -p
create database aaaa;
use aaaa
source /var/lib/mysql-files/tt.sql
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值