数据表备份:不需要通过SQL备份,直接进入到数据库文件复制对应表结构以及数据文件,以后还原的时候,直接将各份的内容放进去即可;

数据表备份根据存储引擎不同有不同区别;

存储引擎:mysql进行数据存储的方式,主要分为两种,innodb和myisam;

对比innodb和myisam:innodb只有表结构,数据全部存储到ibdata文件中;

直接复制三个文件即可,试用于myisam引擎,然后直接放到对应数据库下使用即可;


单表数据备份:每次只能备份一张表;只能备份数据,不能备份表结构;

通常使用:将表中数据导出到文件

select  */字段列表   into outfile  文件所在路径  from  数据源

前提:外部文件不存在;

高级备份:自己指定字段和行处理方式

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

fields:字段处理 enclosed by 字段使用什么内容包裹,默认是'';

terminated  by 字段以什么结束,默认是'\t',tab键;

escaped by  特殊符号以什么结束,默认是'\\' ,反斜杠转义

lines:行处理  starting by 每行以什么开始,默认是''空字符串;

select * into outfile 'D:\124.txt' fields enclosed by '"' terminated by  '|' lines starting by 'Start:' from my_student_1;




数据还原:将一个外部保存的数据重新恢复到表中,前提是表的结构存在;

load data infile 文件所在路径 into table 表名 [(字段列表)] fields 字段处理 lines 行处理;

怎么备份的怎么还原即可;


SQL语句备份

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

只要执行SQL指令即可;


备份:mysql没有提供备份指令;利用mysqldump.exe

mysqldump -uroot -proot 数据库名字 [数据表名] >D:\test

SQL还原数据:方案1,使用Mysql.exe客户端还原,  mysql  -uroot  -proot  数据库名字  [数据表名]  < 路径名

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


增量备份:不是针对数据或者sql指令备份,是针对mysql服务器的日志文件进行备份;指定时间段开始备份,备份数据不会重复,而且所有操作都会备份;