数据库——(12)数据备份与还原
2017-07-25 21:13
260 查看
备份:将当前已有的数据或者纪录保留
还原:将已经保留的数据恢复到对应的表中
为什么要做备份还原?
数据备份还原的方式有很多种:数据表备份、单表数据备份、SQL备份、增量备份。
数据表备份
不需要通过SQL来备份:直接进入到数据库文件夹复制对应的表结构以及数据文件,以后还原的时候,直接将备份的内容放进去就行。
前提条件:根据不同的存储引擎有不同的区别。
比较适合myisam存储引擎。
单表数据备份
每次只能备份一张表,只能备份数据(表结构不能备份)
通常的使用:将表中数据导出到文件。
备份:从表中选出一部分数据保存到外部的文件中(outfile)
select */字段列表 into outfile 文件所在路径 from 数据源;(前提:外部文件不存在)
高级备份:自己制定字段和行的处理方式
select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源;
fields:字段处理
lines:行处理
数据还原:将一个外部保存的数据重新恢复到表中(需要表结构存在)
load data infile 文件所在路径 into table 表名[(字段列表)] file 字段处理 lines 行处理; (怎么备份就怎么还原)
SQL备份
备份的是SQL语句:系统会对表结构以及数据进行处理,变成对应的SQL语句,然后进行备份:还原的时候只要执行SQL指令即可(主要针对表结构)。
备份:可惜MySQL没有提供备份指令,所以需要利用MySQL提供的软件:mysqldump.exe。
mysqldump.exe也是一种客户端,需要操作服务器,必须连接认证。
Mysqldump.exe/mysqldump.exe -hPup 数据库名字[数据表名字1][数据表名字2]>外部文件目录(建议使用.sql结尾)
SQL还原数据:两种方式
方案1:使用mysql.exe客户端还原
Mysql.exe/mysql.exe -hPup 数据库名字 < 备份文件路径
方案2:使用SQL指令还原
source 备份文件路径
SQL备份优缺点
增量备份
不是针对数据或者SQL指令进行备份,而是针对MySQL服务器的日志文件进行备份。
增量备份:指定时间段开始进行备份,备份数据不会重复,而且所有的操作都会备份(大项目都用增量备份)。
还原:将已经保留的数据恢复到对应的表中
为什么要做备份还原?
1.防止数据丢失:被盗、误操作。 2.保护数据纪录
数据备份还原的方式有很多种:数据表备份、单表数据备份、SQL备份、增量备份。
数据表备份
不需要通过SQL来备份:直接进入到数据库文件夹复制对应的表结构以及数据文件,以后还原的时候,直接将备份的内容放进去就行。
前提条件:根据不同的存储引擎有不同的区别。
比较适合myisam存储引擎。
单表数据备份
每次只能备份一张表,只能备份数据(表结构不能备份)
通常的使用:将表中数据导出到文件。
备份:从表中选出一部分数据保存到外部的文件中(outfile)
select */字段列表 into outfile 文件所在路径 from 数据源;(前提:外部文件不存在)
select * into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/a.txt' from my_stu;
高级备份:自己制定字段和行的处理方式
select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源;
fields:字段处理
enclosed by:字段使用什么内容包裹,默认是 空字符串。 teminated by:字段以什么结束,默认是 tab键。 escaped by:特殊符号用什么方式处理,默认是‘\\’,使用反斜杠转义。
lines:行处理
starting by:每行以什么开始,默认是空字符串。
select * into outfile 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/b.txt' -- 字段处理 fields enclosed by '"' -- 数据使用双引号包裹 terminated by '|' -- 数据使用竖线分隔 -- 行处理 lines starting by 'START:' from my_class;
数据还原:将一个外部保存的数据重新恢复到表中(需要表结构存在)
load data infile 文件所在路径 into table 表名[(字段列表)] file 字段处理 lines 行处理; (怎么备份就怎么还原)
SQL备份
备份的是SQL语句:系统会对表结构以及数据进行处理,变成对应的SQL语句,然后进行备份:还原的时候只要执行SQL指令即可(主要针对表结构)。
备份:可惜MySQL没有提供备份指令,所以需要利用MySQL提供的软件:mysqldump.exe。
mysqldump.exe也是一种客户端,需要操作服务器,必须连接认证。
Mysqldump.exe/mysqldump.exe -hPup 数据库名字[数据表名字1][数据表名字2]>外部文件目录(建议使用.sql结尾)
mysqldump -uroot -proot mydatabase my_stu > C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/c.sql
SQL还原数据:两种方式
方案1:使用mysql.exe客户端还原
Mysql.exe/mysql.exe -hPup 数据库名字 < 备份文件路径
mysql -uroot -proot mydatabase < C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/c.sql
方案2:使用SQL指令还原
source 备份文件路径
source C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/c.sql;
SQL备份优缺点
1.优点:可以备份结构。 2.缺点:会浪费空间(额外增加SQL指令)。
增量备份
不是针对数据或者SQL指令进行备份,而是针对MySQL服务器的日志文件进行备份。
增量备份:指定时间段开始进行备份,备份数据不会重复,而且所有的操作都会备份(大项目都用增量备份)。
相关文章推荐
- ASP.NET备份数据与还原数据,解决数据库正在使用的问题
- SQL Server Reporting Service 报错:报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥,必须还原备份密钥或删除所有加密的内容。
- moss2007 数据库备份 还原应用程序 还原数据
- Xtrabackup数据库的数据备份和还原
- 将备份数据还原到数据库的步骤
- Xtrabackup数据库的数据备份和还原
- SQL Server Reporting Service 报错:报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥,必须还原备份密钥或删除所有加密的内容。
- Xtrabackup数据库的数据备份和还原
- SQL Server 2008数据库备份还原和数据恢复
- Xtrabackup数据库的数据备份和还原
- Oracle数据库-备份整个数据库与还原整个数据库数据
- Xtrabackup数据库的数据备份和还原
- 数据库备份与还原数据
- SQL Server2008数据还原(备份集中的数据库备份与现有的数据库不同(报错3154))
- Xtrabackup数据库的数据备份和还原
- 已备份数据库的磁盘结构版本为611,服务器支持版本为539,无法还原或升级数据库
- 数据库兼容级别对数据备份还原的影响
- Xtrabackup数据库的数据备份和还原
- 报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥。必须还原备份密钥或删除所有加密的内容。
- Xtrabackup数据库的数据备份和还原