MySql 数据备份与还原

Posted 安智伟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySql 数据备份与还原相关的知识,希望对你有一定的参考价值。

备份:将当前已有的数据或者记录保留

还原:将已经保留的数据恢复到对于的表中

为什么要做备份还原?

1. 防止数据丢失(被盗,无操作)

2. 保护数据记录

数据备份的方式:

数据表备份,单表数据备份,SQL备份,增量备份

数据表备份

不需要通过SQL来备份,直接进入到数据库文件夹复制对应的表结构以及数据文件,

以后还原的时候,直接将备份的内容放进去即可。

数据表备份的前提条件:格局不同的存储引擎有不同的区别

对比myisam和InnoDB:数据存储方式

  InnoDB:只有表结构,数据全部存储在.ibd文件中

 

 

   MyISAM:表结构,数据和索引单独分开存储

 

 

 

 此种方式只试用于MyISAM存储引擎,直接复制三个文件到其他数据库文件夹下即可

单表数据备份

每次只能备份一张表,只能备份数据(表结构不能备份)

通常使用方法:将表中的数据进行导出到文件

备份方式:从表中选取一部分数据保存到外部的文件中(outfile)

  select */字段列表 into outfile 文件所在路径 from 数据源  -- 提示  外部文件不能存在

  如果保存成.txt文件,不能直接用记事本打开,会改变原来的字符集

可以自己指定字段和行的处理方式

select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源;

fileds: 字段处理

  enclosed by:字段使用什么内容进行包裹,默认时候\' \',空字符串

  terminnated by:字段以什么分隔,默认是\'\\r\',tab键

  escaped by:特殊符号以什么方式去处理\'\\\\\',使用反斜杠转义

lines:行处理

  starting by:每行以什么开始,默认是\' \',空字符串

  terminated by:每行以什么结束,默认是\'\\r\\n\',换行符

 

 

还原方式:将外部保存的数据重新恢复到表中

  load data infile 文件所在路径 into table 表名(字段名) fileds 字段处理 lines 行处理;  -- 怎么备份怎么还原

 

 

 SQL备份

备份的是SQL语句,系统会对表结构以及数据进行处理,变成对应的sql语句,然后进行备份:

  还原的时候,直接执行SQL指令即可(主要针对表结构)。

 备份方法:mysql没有提供备份指令,需要mysql提供的软件:mysqldump.exe

  mysqldump/mysqldump.exe -h *** -u *** -p*** 数据库名字 1 [数据库表名字1 数据库表名字2 ] >  外部的文件目录(建议使用.sql后缀)

  

 

 

 SQL 还原数据库

  方案1:使用mysql.exe 客户端还原

  mysql.exe/mysql -h *** -u *** -p*** 数据库名字 < 备份文件目录

  方案2:使用SQL指令还原

  source 备份文件所在目录

优点:直接备份表结构

缺点:会浪费空间

增量备份

不是针对数据或者SQL指令进行备份:是针对mysql服务器的日志文件进行备份

增量备份:指定时间段开始备份,备份数据不会重复,而且所有的操作都对备份

  

以上是关于MySql 数据备份与还原的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据备份与还原

MySQL备份与还原

MySQL的备份与还原,非常规备份,全量备份,增量备份

Mysql的备份与还原(win系统+Linux系统)

MySql 数据备份与还原

mysql数据库-备份与还原-Percona XtraBackup 2.4备份工具使用