mysql数据备份与恢复实现方法分析
本文实例讲述了mysql数据备份与恢复实现方法。分享给大家供大家参考,具体如下:
本文内容:
-
复制文件法利用mysqldump利用select into outfile其它(列举但不介绍)
首发日期:2022-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’;
- 语法:
- fields 字段处理是可选的,是每个字段的数据如何存储,有以下即可小选项
注意:在5.7新增了一个特性,secure_file_priv,它会限制数据的导出,secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
需要在my.ini中设置
才能正常导出数据。
还原:
-
语法:load date infile 备份文件路径 into table 表名 [fields 字段处理] [lines 行处理];【要把之前的字段处理和行处理都写下来,不然无法正确区分数据】
其它
- 备份:
-
使用mysql命令备份利用mysqlhotcopy备份利用backup table
- 还原:
-
使用mysqlimport导入数据文件。使用restore还原使用source还原
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL索引操作技巧汇总》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/116260.html