数据备份yu还原

数据备份yu还原

方式:


数据表备份


单表数据备份


SQL备份


增量备份


数据表备份

存储引擎:innodb、myisam


innodb:只有表结构,数据全部存储到 ibdata1 文件中(可以复制不能使用)


myisam:表、数据和索引全部单独分开存储(换任何地方都可以用)



-- 查看当前MYSQL版本


select @@version;


-- 创建myisam表


create table my_myisam(


id int


)charset utf8 engine=myisam;


在下面的路径查看创建的myisam表:


C:\ProgramData\MySQL\MySQL Server 5.7\Data\mydb


-- 向my_myisam表插入几条记录


insert into my_myisam values(1),(2),(3);


create database test charset utf8;


把在mydb数据库创建好的my_myisam3个复制到新创建的test数据库

单表数据备份

备份:


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


-- 单表数据备份


select * into outfile 'E:/Sublime Text 3/1910/web/student.txt' from my_student;


select * into outfile 'E:/Sublime Text 3/1910/web/class.txt' from my_class;


蓝色部分默认是tab键

高级备份:


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


fields:字段处理,enclosed by(默认'')、terminated by(默认'\t')、escaped by(默认'\\')


lines:行处理,starting by(默认'')、terminated by(默认'\r\n')


-- 指定备份处理方式


select * into outfile


'E:/Sublime Text 3/1910/web/class1.txt'


-- 字段处理


fields


enclosed by '"' -- 数据使用双引号包裹


terminated by '|' -- 使用竖线分割字段数据


-- 行处理


lines


starting by 'START:'


from my_class;



数据还原:

load data infile 文件所在路径


into table 表名[(字段列表)]


fields 字段处理


lines 行处理;


-- 删除班级表数据


delete from my_class;


-- 还原数据


load data infile 'E:/Sublime Text 3/1910/web/class1.txt'


into table my_class


-- 字段处理


fields


enclosed by '"' -- 数据使用双引号包裹


terminated by '|' -- 使用竖线分割字段数据


-- 行处理


lines


starting by 'START:';


SQL备份

备份:mysqldump.exe


适用于中小项目


mysqldump/mysqldump.exe -hPup 数据库名字 [数据表名字1 [数据表名字2...]] > 外部文件路径


整库备份:


mysqldump/mysqldump.exe -hPup 数据库名字 > 外部文件路径


SQL还原数据(只管最后结果)

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


不带分号;的要\q退出在执行


mysql.exe/mysql -hPup 数据库名字 < 备份文件目录


方案二:使用SQL指令还原


source 备份文件所在路径


增量备份

备份的是系统日志(所有操作记录)文件(指定时间段备份)


不会重复,节省时间,不浪费磁盘空间


周期长,(适用于大项目),数据精确度高

你可能感兴趣的:(数据备份yu还原)