mysql数据备份与恢复如何实现?本篇文章小编给大家分享一下mysql数据备份与恢复实现方法,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
有些时候,在备份之前要先做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 字段处理] [pnes 行处理]; 【备份文件目标路径中文件必须不存在】
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 "'";
pnes 行处理是可选的
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()传到哪个指定目录的。
还原:
语法:load date infile 备份文件路径 into table 表名 [fields 字段处理] [pnes 行处理];【要把之前的字段处理和行处理都写下来,不然无法正确区分数据】
忍者必须死34399账号登录版 最新版v1.0.138v2.0.72
下载勇者秘境oppo版 安卓版v1.0.5
下载忍者必须死3一加版 最新版v1.0.138v2.0.72
下载绝世仙王官方正版 最新安卓版v1.0.49
下载Goat Simulator 3手机版 安卓版v1.0.8.2
Goat Simulator 3手机版是一个非常有趣的模拟游
Goat Simulator 3国际服 安卓版v1.0.8.2
Goat Simulator 3国际版是一个非常有趣的山羊模
烟花燃放模拟器中文版 2025最新版v1.0
烟花燃放模拟器是款仿真的烟花绽放模拟器类型单机小游戏,全方位
我的世界动漫世界 手机版v友y整合
我的世界动漫世界模组整合包是一款加入了动漫元素的素材整合包,
我的世界贝爷生存整合包 最新版v隔壁老王
我的世界MITE贝爷生存整合包是一款根据原版MC制作的魔改整