mysql备份与还原
备份:将当前已有的数据或记录保留
还原:将已保留的数据恢复到对应的表中
为什么要做备份还原?
1、防止数据丢失:被盗、误操作
2、保护数据记录
数据备份有很多种:数据表备份,单表备份,sql备份,增量备份
数据表备份:不需要通过sql来备份,直接进入数据库文件夹对表结构及数据进行复制,以后还原直接将数据放进去就行
数据表备份有前提条件:根据不同的存储引擎有不同的区别
存储引擎:mysql进行数据存储方式:主要有两用innodb和myisam(免费)
这种文件备份适合用myisam数据引擎,直接放到数据库文件下即可可使用
单表数据备份:
每次只能备份一张表,只能备份数据,表结构不能备份,通常使用就是将表中数据导出到文件
备份:从表中选出一部分数据保存到外部的文件中(outfile)
select */字段列表 into outfile 文件所在路径 from 数据源; -- 前提是外部文件不存在
SELECT * into outfile ‘D:/bione.sql‘ FROM `bione_func_info`;
高级备份:自己制定字段和行的处理方式
select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源; -- 前提是外部文件不存在
fields:字段处理
ecclosed by:字段使用什么包裹,默认是空字符串
terminated by :字段已什么结束,默认是‘\t‘,tab键
escaped by:特殊符号使用什么方式处理,默认是‘\\‘,使用反斜杠转义
lines:行处理
starting by:每行以什么开始,默认是‘‘,空字符串
terminated by:每行以什么结束,默认是‘\r\n‘,换行符
-- 制定备份处理方式
SELECT * into outfile ‘D:/bione.txt‘
-- 字段处理
fields enclosed by ‘"‘ -- 数据使用双引号包裹
terminated by ‘|‘ -- 使用竖线分割字段
-- 行处理
lines
starting by ‘START:‘
FROM `bione_func_info`;
数据还原:将一个在外部保存的数据恢复到表中(如果表结构不存在,那么不能还原)
load data infile 文件所在路径 into table 表明[(字段列表)] fields 字段处理 lines 行处理;
-- 怎么备份怎么还原
还原数据:
load data infile ‘D:/bione.txt‘ into table bione_func_info
fields enclosed by ‘"‘
terminated by ‘|‘
lines
starting by ‘START:‘;
SQL备份:
系统对表的数据进行处理,变成对应的sql语句
备份:mysql没有提供备份指令,需要利用mysql提供的软件mysqldump.exe,mysqldump.exe也是一种客户端,需要连接服务器,必须验证,
mysqldump/mysqldump.exe -hPup 数据库名字 [数据表名字 ...] > 外部文件目录,建议使用.sql结尾,
-- cmd进入mysql安装目录bin下
mysqldump -uroot -p111111 oa_db > d:/oa_db.sql;
sql还原数据:
1、使用mysql客户端还原
myslq.exe/mysql -hPup 数据库名 < 备份文件目录
mysql -uroot -p111111 oa_db < d:/oa_db.sql
2、使用sql指令还原
source 备份文件所在路径
source d:/oa_db.sql
sql备份优缺点:
1.优点,可以备份结构
2、缺点,兰妃空间(增加额外的sql指令)
增量备份:
不是针对数据或sql指令备份,是针对mysql服务器的日志文件进行备份
增量备份是指指定时间段开始进行备份,备份数据不会重复,所有的操作都会备份(大项目都用增量备份)