mysql怎么通过outfile恢复_mysql数据备份与恢复实现方法分析

本文详细介绍了MySQL如何使用outfile进行数据备份与恢复,包括复制文件法、mysqldump工具以及select into outfile的使用方法。还提到了secure_file_priv参数对数据导出的限制,并给出了相应的恢复语法。
摘要由CSDN通过智能技术生成

本文实例讲述了mysql数据备份与恢复实现方法。分享给大家供大家参考,具体如下:

本文内容:

复制文件法

利用mysqldump

利用select into outfile

其它(列举但不介绍)

首发日期:2018-04-19

有些时候,在备份之前要先做flush tables ,确保所有数据都被写入到磁盘中。

复制文件法:

对于myisam存储引擎的数据库,它的表结构(.frm)、数据(.myd)和索引(.myi)都单独成文件,可以直接复制这三个文件到备份空间就可以成功备份了。

至于还原,只需要把三个文件复制回某个数据库目录下即可。

利用mysqldump:

适用情况:本质上是把表结构和数据还原成sql语句,所以可以备份表结构

备份:

单表备份:mysqldump -u用户名 -p 数据库名 表名 > 备份文件路径

多表备份:mysqldump -u用户名 -p 数据库名 表名1 [其他表名] > 备份文件路径

单个数据库备份:mysqldump -u用户名 -p 数据库名  > 备份文件路径

多个数据库备份:mysqldump -u用户名 -p --databases  数据库名1 数据库名2 [其他数据库]  > 备份文件路径

备份所有数据库:mysqldump -u用户名 -p --all --databases > 备份文件路径

还原:

mysqldump -u用户名 -p密码 [数据库名] < 备份文件路径 【指定数据库时代表只恢复指定数据库的备份,不指定为恢复备份文件中所有内容】

补充:

mysqldump还可以仅仅导出表数据【不过考虑到有select into outfile了,这里就不介绍了】

利用select into outfile:

适用情况:单表数据备份,只能复制表数据,不能复制表结构。

备份:

语法:select *\字段列表  from 数据源 into outfile 备份文件目标路径 [fields 字段处理] [lines 行处理]; 【备份文件目标路径中文件必须不存在】

fields 字段处理是可选的,是每个字段的数据如何存储,有以下即可小选项

enclosed by:以什么字符来包裹数据,默认是空字符

terminated by :以什么字符作为字段数据结尾,默认是\t,退格符

escaped by: 特殊符号用什么方法处理,默认是"\\"

optionally enclosed by:以什么字符来包裹数据类型为字符串的数据。

语法:

select * from class into outfile "d:\c1.txt" fields enclosed by '-';

select * from class into outfile "d:\c1.txt" fields enclosed by '-' optionally enclosed by "'";

lines 行处理是可选的

starting by :每行以什么开始,默认是空字符串

terminated by :每行记录以什么结束,默认是“\n”

语法:

select * from class into outfile "d:\c.txt" lines starting by 'start:';

select * from class into outfile "d:\c1.txt" lines starting by 'start:' terminated by ' \n';

注意:在5.7新增了一个特性,secure_file_priv,它会限制数据的导出,secure-file-priv参数是用来限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()传到哪个指定目录的。

1b4be133d7b53aae4e4796657e86884c.png

需要在my.ini中设置

eb99f42b2abf93a9176d2c14e6c52a44.png才能正常导出数据。

还原:

语法:load date infile 备份文件路径 into table 表名 [fields 字段处理] [lines 行处理];【要把之前的字段处理和行处理都写下来,不然无法正确区分数据】

其它

备份:

使用mysql命令备份

利用mysqlhotcopy备份

利用backup table

还原:

使用mysqlimport导入数据文件。

使用restore还原

使用source还原

希望本文所述对大家MySQL数据库计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值