数据库的备份与还原
备份: 将当前已有的数据或者记录进行保留.
还原: 将已经保留的数据恢复到对应的表中.
为什么要备份和还原?
1.防止数据丢失 : 被盗,误操作.2.保护数据记录
数据备份还原的方式:
1.数据表备份2.单表数据备份3.SQL备份4.增量备份
数据表备份
不需要通过SQL来备份,直接进入发哦数据文件夹复制对应的表结构以及数据文件,以后还原的时候直接将备份内容放进去即可.数据表备份的前提条件 : 根据不同的存储引擎有不同的区别
存储引擎:mysql进行数据存储的方式 主要用两种(innodb 和 myisam) 免费
对比myisam和innodb :数据的存储方式innodb : 只有表结构,数据全部存储到ibdate 文件中myisam : 表 , 数据 和 索引 全部单独分开存储.myisam 可以将三个文件复制到任何一个数据库中,便可使用,但是innodb不行.myisam优势:数据库的迁移很容易,数据库,不要断掉业务maisam劣势:比较浪费磁盘空间.
单表数据备份
特点:每次只能备份一张表,只能备份数据,不能备份表结构通常使用:将表中的数据进行导出到文件
备份
从表中选出一部分数据保存到外部文(outfile)中.基本语法--选择一部分数据 --外部文件 --选择数据源select */字段列表 into outfile 外部文件路径 from 数据源;前提是外部文件不存在;eg. select * into outfile 'd/beiFen/user.txt' form user ;select * into outfile "d/beiFen/user.txt"geo form user ;
高级备份
select */字段列表 into outfile ' 外部文件路径 ' fields 字段处理 lines 行处理 from 数据源;fields 字段处理方式:enclosed by : 字段使用什么包裹 默认是 '',空字符串 --用什么包裹terminated by : 字段以什么结束 默认是 '\t' , tab键 --英文翻译为 : 终止escape by : 特殊符号用什么方式处理 默认是'\\' , 使用反斜杠转义--转义lines 字段处理方式:starting by : 每行以什么开始 默认使用 '' , 空字符串terminated by : 每行以什么结束 默认使用 '\r\n' 换行符select * into outfile 'd:/beifen/users.txt' fields enclosed by '"' lines starting by 'staitng:' from user ;
还原
将一个在外部保存的数据重新恢复到表中,表结构不存在,就不能被还原基本语法:load data infile 文件所在路径 表名[(字段列表)] fields 字段处理 lines 行处理;字段处理和行处理,怎么备份怎么还原;load data infile 'd:/beifen/users.txt' fields enclosed by '"' lines starting by 'staitng:';
SQL备份
SQL备份: 备份的SQL语句, 系统会对表结构以及数据进行处理,变成对应的SQL语句,然后进行备份,还原的时候知道执行SQL指令即可.(针对表结构)
备份
MySQL中没有提供备份指令. 需要利用MySQL提供的软件:mysqldump.exemysqldump.exe 也是一种客户端,需要操作数据库:必须要连接认证,不需要分号.mysqldump/mysqldump.exe -hPup 数据库名字 [表名1 [表名2...]] > 外部文件目录
还原
方案一:使用MySQL客户端还原mysql.exe -hPup 数据库名字 < 备份的文件目录数据库名字可以是别的数据库,可以还原到别的数据库中.方案二: 使用SQL指令还原source 本分文件所在的路径;SQL备份优点 : 可以备份表结构以及数据SQL备份缺点 : SQL语句增加,浪费空间
增量备份
增量备份:不是针对数据或者SQL指令进行备份,是针对MySQL服务器的日志文件进行备份.是制定时间段开始进行备份,备份不会重复,而且所有的操作都会备份