MySQL(四)数据备份与还原
数据备份与还原:
备份:将当前已有的数据或者记录保留
还原:将已经保留的数据恢复到对应的表中
为什么要做备份还原:
1、防止数据丢失:被盗、误操作
2、保护数据的记录
数据备份还原的方式很多:数据表备份、单表数据备份、SQL备份、增量备份
一、数据表备份:(不推荐使用)
不需要通过SQL来备份,直接进入到数据库文件夹复制对应的表结构以及数据文件,以后还原的时候,直接将备份的内容放进去即可。(这种文件备份通常适用于myisam存储引擎:直接三个文件就可以了,innodb不行,识别不了。)
有前提条件:根据不同的存储引擎有不同的区别;
存储引擎:mysql进行数据的存储方式:主要有两种:innodb和myisam(因为这两种免费)
对比myisam和innodb:数据存储方式
innodb:只有表结构,数据全部存储到ibdata1文件中。
myisam:表、数据和索引全部单独分开存储。(证明如下图)
二、单表数据备份
每次只能备份一张表,只能备份数据(表结构不可以备份)
通常使用,将表中的数据进行导出文件。
备份:
从表中选出一部分数据保存到外部文件中。
select */字段列表 into outfile 文件所在路径 from 数据源; 前提:外部文件不存在
高级备份:自己自定字段和行的处理方式
select */字段列表 into outfile 文件所在路径 fields 字段处理 lines 行处理 from 数据源; 前提:外部文件不存在
fields:字段处理
Enclosed by:字段使用什么内容包裹,默认是:空字符串
Terminated by:字段以什么结束,默认是“\t”,tab键
escaped by:特殊符号用什么方式处理,默认是“\\”,使用反斜杠转义
lines:行处理
starting by:每行以什么开始,默认是空字符串;
terminated by:每行以什么结束,默认是“\r\n”,换行符
三、数据的还原
将一个在外部保存的数据重新恢复到表中(如果表结构不存在,那么就恢复不了了)
load data infile 文件所在路径 into table 表名【(字段列表)】 fields 字段处理 lines 行处理 ——怎么备份,怎么还原。
四、SQL备份
备份的SQL语句:系统会对表结构以及数据进行处理,变成对应的SQL语句,然后进行备份,还原的时候只要执行SQL指令即可(主要就是针对表结构)
备份:mysql没有提供备份指令,但是可以利用mysql提供的软件:mysqldump.exe
mysqldump.exe也是一种客户端,需要操作服务器,必须连接认证
1、单表备份:
mysqldump/mysqldump.exe-hPup 数据库名字 【数据表名字 1【数据表名字2……】】>外部文件目录(建议使用.sql)
2、整库备份
mysqldump/mysqldump.exe-hPup 数据库名字 >外部文件目录(建议使用.sql)
五、SQL还原数据
优缺点:
优点:可以备份结构
缺点:会浪费空间,会额外的增加SQL指令。
1、使用mysql.exe 客户端还原
mysql.exe/mysql-hPup 数据库名字 < 备份文件目录
2、使用SQL指令还原
source 备份文件所在路径
六、增量备份(大的项目一般会用增量备份)
不是针对数据或者SQL指令进行备份:是针对mysql服务器的日志进行备份
增量备份:是指定时间段进行备份,备份数据不会重复,而且所有的操作都会备份。
MySQL(四)数据备份与还原的更多相关文章
- mysql之数据备份与还原
mysql数据备份 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境.但不能恢复到异构系统中如Windows. #2. 逻辑备份: 备份的是建表.建库.插入等操作所执行SQL语句,适用于中 ...
- 关系型数据库MySQL(四)_备份与还原
数据库备份 备份命令:mysqldump 备份一个数据库 mysqldump -h localhost -u username -p password database_name > D:\fi ...
- MySql笔记之数据备份与还原
MySQL数据备份.还原与迁移 一.数据备份------mysqldump 1.语法: mysqldump -u user(用户名)-h host(登录用户的主机名称)-p password(登录密码 ...
- day 50 MySQL数据备份与还原(mysqldump)
MySQL数据备份与还原(mysqldump) 一 mysqldump指令实现数据备份.mysql指令实现数据还原 经常有朋友问我,DBA到底是做什么的,百科上说:数据库管理员(Databas ...
- 转 MySQL 数据备份与还原
MySQL 数据备份与还原 原贴:http://www.cnblogs.com/kissdodog/p/4174421.html 一.数据备份 1.使用mysqldump命令备份 mysqldum ...
- MYSQL数据备份与还原学习笔记
数据备份与还原 1.mysqldump 1.1 文件地址: E:\xampp\mysql\bin 文件名:mysqldump.exe CMD下进入mysqldump.exe cd E:\xampp ...
- MySQL 数据备份与还原的示例代码
MySQL 数据备份与还原的示例代码 这篇文章主要介绍了MySQL 数据备份与还原的相关知识,本文通过示例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 一.数据备份 1.使用 ...
- MySQL 数据备份与还原 转载
MySQL 数据备份与还原 一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldum ...
- mysql数据库的备份和还原的总结
mysql数据库的备份和还原的总结 (来自一运维同事的总结) 1. 备份方式: 热备:数据库在线进行备份,不影响读和写的在线备份方式! 温备:数据库在线进行备份,对表备份时先锁定写操作,仅可以执行读操 ...
随机推荐
- 深入理解JVM(③)虚拟机的类加载器(双亲委派模型)
前言 先解释一下什么是类加载器,通过一个类的全限定名来获取描述该类的二进制字节流,在虚拟机中实现这个动作的代码被称为"类加载器(Class Loader)". 类与类加载器 类加载 ...
- Idea+springboot入坑之路
环境准备 IDEA 社区版: 2019.3 jdk: 1.8.0_241 tomcat: 7.0.99 maven: 3.6.3 spring-boot:2.2.5.RELEASE 插件 spring ...
- ORACLE误删除表数据或误更新/插入数据如何恢复
工作中一不小心将本不该删除/更新/插入的数据进行删除/更新/插入了,这时候一定要尽快进行恢复. 工具/原料 PL/SQL 方法/步骤 首先新建一张测试表TEST,里面输入记录.由于删除/更 ...
- MySQL统计库表大小
统计每个库每个表的大小是数据治理的其中最简单的一个要求,本文将从抽样统计结果及精确统计结果两方面来统计MySQL的每个库每个表的数据量情况. 1.统计预估数据量 mysql数据字典库informati ...
- 乐观锁&CAS问题
悲观者与乐观者的做事方式完全不一样,悲观者的人生观是一件事情我必须要百分之百完全控制才会去做,否则就认为这件事情一定会出问题:而乐观者的人生观则相反,凡事不管最终结果如何,他都会先尝试去做,大不了最后 ...
- html5中contenteditable属性如果过滤标签,过滤富文本样式
在div中使用contenteditable=”true”可以达到模拟输入框的效果,但是当我们复制其他网页内容进去的时候,会发现连带的样式也一起复制进去了.很明显我们不需要复制富文本样式,那么如何 ...
- MyBatis和Spring整合的奥秘
本篇博客源码分析基于Spring 5.1.16.RELEASE,mybatis-spring 2.0.0,较高版本的mybatis-spring源码有较大区别. Spring之所以是目前Java最受欢 ...
- redux中的reducer为什么必须(最好)是纯函数
为什么reducer最好是纯函数? 首先你得看看文档怎么说reducer的作用的,‘接收旧的 state 和 action,返回新的 state’,他起的是一个对数据做简单处理后返回state的作用. ...
- MYSQL 之 JDBC(三): 增删改查(一)通过Statement执行更新操作
Statement测试 /** * 通过JDBC向指定的数据表中插入一条记录 * 1. Statement:用于执行sql语句的对象 * 1.1 通过Connection的createStatemen ...
- web 部署专题(九):Nginx 前后端分离中csrf_token 认证的实现
1. 思路 参考:https://stackoverflow.com/questions/20826201/simple-csrf-protection-using-nginx-alone?r=Sea ...