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 ...;示例:
LOAD DATA INFILE 'E:/osdTemp.txt' INTO TABLE test_t FIELDS ENCLOSED BY '' TERMINATED BY '\t' LINES STARTING BY '' TERMINATED BY '\r\n';二:SQL备份:
备份的是SQL语句,系统就会对表结构以及数据进行处理, 编程对应的SQL语句,然后进行备份,还原的时候只要执行 SQL指令就可以了。MYSQL本身没有提供备份的指令。
需要利用MYSQL提供的备份软件:MYSQLDUMP.EXE指令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服务器的日志文件进行备份。增量备份:指定时间段开始备份,备份数据不会重复,
而且所有的操作都会备份。