ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

18、数据的备份和还原

2019-03-25 13:51:05  阅读:205  来源: 互联网

标签:18 数据库 数据备份 还原 mysql 数据 备份 user


mysql中数据的备份有以下几种方式:

1、直接在数据库文件夹中复制对应的表结构以及数据文件进行数据备份

2、将每一张表中的数据进行备份

3、使用mysqldump.exe 进行备份

4、增量数据备份

接下来就详细的介绍一下每一种备份的具体操作

直接在数据库文件夹中复制对应的表结构以及数据文件进行数据备份

这一种备份的方式比较适用于myISAM引擎 的数据库,只需要将对应数据库下的想要备份的表对应的 .frm 文件(存储表结构)、.MYD文件(存储表数据)和 .MYI文件(存储索引)进行复制即可实现备份,这种方式备份数据方便数据库的迁移,但是不方便备份,因为太浪费磁盘空间。

通过备份每一张表的数据进行备份(仅仅是备份了数据,并没有备份表结构)

这一种备份方式的思路就是将每一张数据表中的数据备份到磁盘上指定对应的文件中,在使用的时候,直接通过存储的备份文件将数据导入到数据表中即可,这里注意的是由于备份的只有数据并没有表结构,所以使用备份文件时必须创建对应的数据表,其基本语法如下:

// 备份语法
select 字段列表  into outfile ‘文件存储路径’ [fields字段处理] [lines行处理]  from 表名;

-- 将user表中的数据备份到e:/data/user.txt中
select * from user into outfile ‘e:/data/user.txt’; 

// 还原语法 格式上怎么备份怎么还原
load data infile ‘文件存储路径’ into table 表明[字段列表] [fields 字段处理] [lines 行处理] ;

-- 将 e:/data/user.txt 中的数据还原到user表中
load data infile ‘e:/data/user.txt’ into table user;

解释一下fields和lines的含义:

fields字段处理参数
fields可取值 功能
enclosed by 数据使用什么符号包裹,默认是 ‘’ ,空字符串
terminated by 字段以什么符号结束,默认是‘\t’
escaped by 特殊符号用什么方式处理,默认是‘\\’
lines行处理参数
lines可取值 功能
starting by 每行以什么开始,默认‘’,空字符串
terminated by 每行以什么结束,默认是‘\r\n’
   

使用mysqldump.exe 进行备份

直接使用mysqldump.exe进行备份,其语法如下:

-- 备份数据库czpdb下的表user到e:/czp/user.sql中
mysqldump -u root -p czpdb user > e:/czp/user.sql  -- 此处不要分号,回车输入密码

-- 还原文件到数据库
-- 1、连接上mysql,切换到对应的数据库下,通过source命令恢复
mysql -u root -p 123456;
use czpdb;
source e:/czp/user.sql;

-- 2、使用mysql命令
mysql -u root -p czpdb <  e:/czp/user.sql  -- 此处不要分号,回车输入密码

此方式可以备份数据和表结构,比较实用

增量数据备份

当数据库太大,数据更迭的速度比较快时,备份所有数据有点不现实,有的时候也没有必要,这个时候便可以使用数据的增量备份。针对特定的时间段,根据数据库中mysql-bin日志生成增量数据进行数据备份。下边介绍一下增量备份的使用:

1、必须使用log-bin 启用二进制日志记录的选项启动服务器,配置一个路径用来存储日志文件(用于还原)

2、还原时使用命令  mysqlbinlog 日志文件 | mysql -u root -p 数据库  即可

3、日志文件有可能被加密,可以查看mysql官网的增量备份的具体使用方式(https://dev.mysql.com/doc/refman/8.0/en/point-in-time-recovery.html

标签:18,数据库,数据备份,还原,mysql,数据,备份,user
来源: https://blog.csdn.net/chaizepeng/article/details/87883322

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有