MySQL安全管理数据备份与还原
MySQL安全管理数据备份与还原
数据备份与还原分为
1)单表数据备份与还原
2)文件备份与还原
3)SQL备份与还原
备份与还原的基本概念
什么是备份
备份:backup,将数据或者结构按照一定的格式存储到另外一个文件中,以保证阶段数据的完整性和安全性
将当前正确数据进行数据保存
备份通常是有固定的时间节点
什么是还原
还原:restore,在当前数据出现问题的情况下,将之前备份的数据替换掉当前数据,保持系统的持续,正常的运行
基于备份进行数据还原
注意:备份还原不一定能够保证所有损失挽回
一、表数据备份与还原
表数据备份:单独针对表里的数据部分进行备份(数据导出),将数据从表中查出,按照一定格式存储到外部文件
1)表数据备份的格式
字段格式:fields
terminated by:字段数据结束后使用的符号,默认是空格
enclosed by:字段数据包裹,默认什么都没有
escaped by:特使字符的处理,默认是转义
行格式化:lines
terminated by:行结束符号,默认是\n,自动换行
starting by:行开始符号,默认没有
表数据备份的基本语法
select 字段列表|* into outfile 外部文件路径
[fields terminated by 格式 enclosed by 格式]
[lines terminated by 格式 starting by 格式]
from 数据表
表数据还原:将符合数据表结构的数据导入到数据表中(数据导入),将一定格式的数据按照一定的解析方式解析成符合表字段格式的数据导入到数据表
表数据还原的基本语法
load data infile '数据文件所在路径' into table 表名
[fields terminated by 格式 enclosed by 格式]
[lines terminated by 格式 starting by 格式]
[(字段列表)]
表数据还原的文件来源
表数据备份的数据文件
外部获取或者制作的符合格式的数据
二、文件备份与还原
文件备份:直接对数据表进行文件保留,属于物理备份,文件备份操作简单,直接将数据表(或者数据库文件夹)进行保存迁移
MySQL中不同表存储引擎产生的文件不一致,保存手动也不一样
InnoDB:表结构文件在idb文件中,数据和索引存储在外部统一的iddate文件中
MyIsam:每张表的数据、结构和索引都是独立文件,直接找到三个文件迁移即可
MyIsam表的文件备份:找到三个文件,复制迁移
sdi:表结构文件
MYI:索引文件
MYD:数据文件
InnoDB表的文件备份:找到两个文件,复制迁移
idb:表结构文件
idbdata:所有InnoDB数据文件
文件还原:利用备份的文件,替换出现问题的文件,还原到备份前的良好状态,直接将备份的文件放到对应的位置即可
文件还原影响
MyIsam存储引擎:单表备份,单表还原,不影响其他任何数据
InnoDB存储引擎:单表备份,整库数据,只适应数据库备份还原,否则会影响其他InnoDB存储表
三、SQL备份与还原
SQL备份:将数据库的数据以SQL指令的形式保存到文件当中,属于逻辑备份
SQL备份是利用Mysqldump.exe客户端实现备份(bin目录下)
SQL备份是将备份目标(数据表)以SQL指令形式,从表的结构,数据和其他信息保存到文件中
基本语法:mysqldump.exe -h -p -u [备份选项] 数据库名字 [数据表列表] >SQL文件路径
备份选项
1)全库备份:--all-databases 所有数据库的所有表,也不需要指定数据库名字
2)单库备份:[--databases] 数据库 指定数据库里的所有表 (后面不要给表名)
3)部份表(单表)备份:数据库名字 表1[,表2..]
SQL还原:在需要用到SQL备份数据时,想办法让SQL执行,从而实现备份数据的还原SQL还原:在需要用到SQL备份数据时,想办法让SQL执行,从而实现备份数据的还原
SQL还原可以使用Mysql.exe进行操作
SQL还原可以在进入到数据库之后利用SQL指令还原
SQL还原基本语法
mysql.exe -h -p -u -p[数据库名] <SQL文件路径
source SQL文件路径
SQL数据库的特点
1、SQL备份是一般更新频次不高的数据库的常用备份方式
2、SQL备份是将数据表(库)以SQL指令形式进行备份
结构指令:表创建(库创建)
数据指令:insert数据
3、SQL备份能够完成的备份结构和数据,而结构和数据又是独立的,所以比较方便用作备份和还原
SQL备份的缺点
SQL备份比较耗费时间和占用性能,建议在闲时进行备份
SQL备份可以提高数据表的重要性进行频次区分备份