MYSQL备份:数据库
一:单表数据备份:
每次只能备份一张表,只能备份数据,不能备份表结构。
一般的应用:将表中的数据进行导出到文件。
备份:从表中选出一部分数据保存到外部的文件。
语法:(前提:外部文件不存在)
SELECT */字段列表 INTO OUTFILE 文件所在路径 FROM 数据源;编程
高级备份语法:
本身制定字段和行的处理方式。
字段处理FIELDS:
ENCLOSED BY : 字段使用什么内容包裹,默认是空字符串''。
TERMINATED BY : 字段以什么结束,默认是tab键'\t'
行处理LIENS:
STARTING BY : 每行以什么开始,默认是''空字符串
TERMINATED BY : 每行以什么结束,默认是换行符'\r\n'服务器
SELECT */字段列表 INTO OUTFILE 文件所在路径
FIELDS
...
LINES
...
FROM 数据源;
示例:
SELECT osd.order_no,
osd.stu_code,
osd.stu_name,
osd.tm_code,
osd.tm_name
INTO OUTFILE 'E:/osdTemp.txt'
FIELDS ENCLOSED BY ''
TERMINATED BY '\t'
LINES STARTING BY ''
TERMINATED BY '\r\n'
FROM order_stu_detail osd
WHERE osd.is_delete = 0;日志
单表数据还原:
将一个外部保存的数据恢复到表中(若是表不存在,那么SORRY)
LOAD DATA INFILE 文件路径 INTO TABLE 表名
FIELDS
...
LINES
...;code
示例:
LOAD DATA INFILE 'E:/osdTemp.txt' INTO TABLE test_t
FIELDS ENCLOSED BY ''
TERMINATED BY '\t'
LINES STARTING BY ''
TERMINATED BY '\r\n';ip
二:SQL备份:
备份的是SQL语句,系统就会对表结构以及数据进行处理,
编程对应的SQL语句,而后进行备份,还原的时候只要执行
SQL指令就能够了。字符串
MYSQL自己没有提供备份的指令。
须要利用MYSQL提供的备份软件:MYSQLDUMP.EXE指令test
MYSQLDUMP.EXE也是一种客户端,须要操做服务器,必须进行
链接认证。软件
语法:·
MYSQLDUMP/MYSQLDUMP.EXE -H ip -P 端口 -U 用户 -P 密码
数据库名称 [数据表1][数据表2]...[数据表n]
> 文件所在路径语法
整个数据库备份:
MYSQLDUMP/MYSQLDUMP.EXE -H ip -P 端口 -U 用户 -P 密码
数据库名称
> 文件所在路径
SQL还原:
两种方式:
1.MYSQL客户端还原:
MYSQL/MYSQL.EXE -H ip -P 端口 -U 用户 -P 密码 数据库名称 < 备份文件路径
2.使用SQL指令:SOURCE
语法:SOURCE 文件所在路径;
SQL备份的以优缺点:
1.优势:能够备份表、库结构。
2.缺点:会浪费空间(增长额外的SQL指令)。
三:增量备份:
不是针对数据或者SQL指令进行备份,
是针对MYSQL服务器的日志文件进行备份。
增量备份:指定时间段开始备份,备份数据不会重复, 并且全部的操做都会备份。