二十四、mysql数据备份与还原

数据表备份与还原

备份: 将当前已有的数据或者记录保留。
还原: 将已经保留的数据恢复到对应的表中。
做备份和还原的原因:

  1. 防止数据丢失 被盗、误删除等
  2. 保护数据记录

数据备份还原的方式有: 数据表备份、单表数据备份、SQL备份、增量备份。

数据表备份

定义: 不需要通过SQL来备份,直接进入到数据库文件夹复制对应的表结构及数据文件,以后还原的时候,直接将备份的内容放进去即可。
数据表备份有前提条件, 根据不同的存储引擎有不同的区别;
存储引擎: mysql进行数据存储的方式,主要是innodb和myisam两种;
各种存储引擎简介如下图:
在这里插入图片描述
myisam和innodb存储引擎的对比: innodb只有表结构,数据全部存储到idbatal文件中;而myisam表数据和索引全部单独分开存储,其中.frm是结构文件,.myd是数据,.myi是索引,这种文件备份通常适用于myisam引擎,直接复制三个文件即可;而innodb的数据表是依赖于数据库的,不能单独拿出一个表进行使用;

单表数据备份

定义: 每次只能备份一张表,只能备份数据(表结构不能备份),通常的使用是将表的数据进行导出,导出到文件;
基本的备份操作: 从表中选出一部分数据保存到外部的文件中(outfile)

  1. 基本语法:select */字段列表 into outfile 文件所在路径 from 数据源;
  2. 注意事项:这条语句的前提是外部文件不存在,这样才能在指定路径下创建文件。

高级备份操作: 自己制定字段和行的处理方式

  1. 基本语法:
    select */字段列表 into outfile 文件所在路径 fields 字段处理
    lines 行处理 from 数据源;
  1. 基本语法解析:
   fields字段处理                          
        enclosed by:字段使用什么内容包裹,默认是’’,空字符串
        terminated by:字段以后什么结束,默认是’\t’,即tab键
        escaped by:特殊符号用什么处理,默认是’\\’,用反斜杠转义
   lines行处理
        starting by:每行以什么开始,默认是’’,即空字符串
        terminated by:每行一什么结束,默认是’\r\n’,即换行
  1. 实例:
    select * 
    into outfile ‘D:/test/beifen.txt’ 
    fields enclose by ‘”’ --双引号包裹
    terminated by|--使用竖线分隔字段数据
    lines starting bySTART:’ --行处理
    from my_class; --数据源

数据还原: 将一个在外部保存的数据重新恢复到表中(如果表结构不存在,那么是不能还原的);

  1. 基本语法:
    load data infile 文件所在路径 into table 表名[(字段列表)] 
    fields 字段处理 lines 行处理;  --怎么备份的怎么还原(主要在字段处理和行处理的说明)
SQL备份

定义: 备份的是SQL语句,系统会对表结构以及数据进行处理,完成对应的SQL语句,然后进行备份,还原的时候只要执行SQL指令即可;(主要备份表结构)。
备份的具体操作: mysql没有提供备份指令,但是可以用mysql提供的软件“mysqldump.exe”;mysqldump.exe也是一种客户端,需要操作服务器,必须连接认证,具体操作如下:

   mySqldump -uroot [-h 主机名,默认为本机] -proot 数据库名字 [数据表名字] [,数据表名字,]...
   > 外部文件目录(建议使用.sql文件)
  //整库备份的实例:将mydatabase备份至D:/server/text.sql下
  mysqldump -uroot -proot mydatabase > D:/server/text.sql

SQL还原数据:

  1. 使用mysql.exe客户端还原:mysql -uroot -proot 数据库名字 < 备份目录
  2. 使用sql指令还原:source 备份文件所在路径;

SQL备份的优缺点:

  1. 优点:可以备份结构
  2. 缺点:会浪费空间(额外的增加SQL指令)
增量备份

定义: 不是针对数据或者SQL指令进行备份,而是针对mysql服务器的日志文件进行备份。
增量备份的具体做法: 指定时间段开始进行备份,备份数据不会重复,而且所有的操作都会备份,大型项目基本都用增量备份。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值