数据备份yu还原
方式:
数据表备份
单表数据备份
SQL备份
增量备份
数据表备份
存储引擎:innodb、myisam
innodb:只有表结构,数据全部存储到 ibdata1 文件中(可以复制不能使用)
myisam:表、数据和索引全部单独分开存储(换任何地方都可以用)
-- 查看当前MYSQL版本
select @@version;
-- 创建myisam表
create table my_myisam(
id int
)charset utf8 engine=myisam;
在下面的路径查看创建的myisam表:
C:\ProgramData\MySQL\MySQL Server 5.7\Data\mydb
-- 向my_myisam表插入几条记录
insert into my_myisam values(1),(2),(3);
create database test charset utf8;
把在mydb数据库创建好的my_myisam3个复制到新创建的test数据库
单表数据备份
备份:
select */字段列表 into outfile 文件所在路径 from 数据源;
-- 单表数据备份
select * into outfile 'E:/Sublime Text 3/1910/web/student.txt' from my_student;
select * into outfile 'E:/Sublime Text 3/1910/web/class.txt' from my_class;
蓝色部分默认是tab键
高级备份:
select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源;
fields:字段处理,enclosed by(默认'')、terminated by(默认'\t')、escaped by(默认'\\')
lines:行处理,starting by(默认'')、terminated by(默认'\r\n')
-- 指定备份处理方式
select * into outfile
'E:/Sublime Text 3/1910/web/class1.txt'
-- 字段处理
fields
enclosed by '"' -- 数据使用双引号包裹
terminated by '|' -- 使用竖线分割字段数据
-- 行处理
lines
starting by 'START:'
from my_class;
数据还原:
load data infile 文件所在路径
into table 表名[(字段列表)]
fields 字段处理
lines 行处理;
-- 删除班级表数据
delete from my_class;
-- 还原数据
load data infile 'E:/Sublime Text 3/1910/web/class1.txt'
into table my_class
-- 字段处理
fields
enclosed by '"' -- 数据使用双引号包裹
terminated by '|' -- 使用竖线分割字段数据
-- 行处理
lines
starting by 'START:';
SQL备份
备份:mysqldump.exe
适用于中小项目
mysqldump/mysqldump.exe -hPup 数据库名字 [数据表名字1 [数据表名字2...]] > 外部文件路径
整库备份:
mysqldump/mysqldump.exe -hPup 数据库名字 > 外部文件路径
SQL还原数据(只管最后结果)
方案一:使用mysql.exe客户端还原
不带分号;的要\q退出在执行
mysql.exe/mysql -hPup 数据库名字 < 备份文件目录
方案二:使用SQL指令还原
source 备份文件所在路径
增量备份
备份的是系统日志(所有操作记录)文件(指定时间段备份)
不会重复,节省时间,不浪费磁盘空间
周期长,(适用于大项目),数据精确度高