数据表备份:不需要通过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服务器的日志文件进行备份;指定时间段开始备份,备份数据不会重复,而且所有操作都会备份;