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()传到哪个指定目录的。
需要在my.ini中设置才能正常导出数据。
还原:
- 语法:load date infile 备份文件路径 into table 表名 [fields 字段处理] [lines 行处理];【要把之前的字段处理和行处理都写下来,不然无法正确区分数据】
其它
- 备份:
- 使用mysql命令备份
- 利用mysqlhotcopy备份
- 利用backup table
- 还原:
- 使用mysqlimport导入数据文件。
- 使用restore还原
- 使用source还原
mysql之数据备份与恢复的更多相关文章
- 10 MySQL之数据备份与恢复
01-数据备份 # 1.使用 MySQLdump 命令备份 MySQLdump 是MySQL提供的一个非常有用的数据库备份工具. MySQLdump 命令执行时,可以将数据库备份成一个文本文件,该文本 ...
- mysql数据库数据备份与恢复
备份数据: C:\Users\Administrator>mysqldump -uroot --password -v test01 test02 >e:\temp\\a3.sql Ent ...
- Mysql 数据备份与恢复,用户创建,授权
Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create ...
- Database基础(四):密码恢复及设置、 用户授权及撤销、数据备份与恢复、MySQL管理工具
一.密码恢复及设置 目标: 本案例要求熟悉MySQL管理密码的控制,完成以下任务操作: 练习重置MySQL管理密码的操作 通过正常途径设置MySQL数据库的管理密码 步骤: 步骤一:重置MySQL管理 ...
- Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录
在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex.innobacku ...
- MySQL的数据备份以及pymysql的使用
一.MySQL的数据备份 语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 ...
- Linux下MySQL数据库的备份与恢复
Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...
- 数据备份与恢复 半持久化 全持久化 fork aof rdb Backing up Disaster recovery 备份 容灾
Redis数据备份与恢复 - 流年晕开时光 - 博客园 https://www.cnblogs.com/deny/p/11531355.html Redis数据备份与恢复 Redis所有数据都是保存在 ...
- mysql 插入数据失败防止自增长主键增长的方法
mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...
随机推荐
- Java核心技术及面试指南 IO部分的面试题归纳以及答案
4.6.1 java中有几种类型的流? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种所以一共四个):InputStream,OutputStr ...
- vue 关于图片路径的问题
在vue 中,当我们想加载assets中的图片,本人按照多年的开发经验会这样写,那是没问题的 <img src="../assets.1.jpg"/> 如果我要用v-b ...
- Linux编程 22 shell编程(输出和输入重定向,管道,数学运算命令,退出脚本状态码)
1. 输出重定向 最基本的重定向是将命令的输出发送到一个文件中.在bash shell中用大于号(>) ,格式如下:command > inputfile.例如:将date命令的输出内容, ...
- 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件项目的托管平台:https://github.com/zlslch/)(图文详解)(博主推荐)
不多说,直接上干货! https://github.com/ 欢迎大家,加入我的微信公众号:大数据躺过的坑 人工智能躺过的坑 同时,大家可以关注我的个人博客: http ...
- 小程序开发--移动端分辨率与rpx
首先说一个很有意思的问题:一块720p的屏幕和1080p的屏幕那个大? 这个问题很有代表性,如果手机竖着放,720p=720px*1280px,而1080p=1080px*1920px;那么在宽度上, ...
- 高性能Mysql笔记 — 索引
index优化 对于频繁作为查询条件的字段使用索引 注意索引字段类型的隐式转换,数据库类型和应用类型要一致 索引的种类 唯一索引,成为索引的列不能重复 单列索引,一个索引只包含一列 单列前缀索引,有些 ...
- Python机器学习笔记 使用sklearn做特征工程和数据挖掘
特征处理是特征工程的核心部分,特征工程是数据分析中最耗时间和精力的一部分工作,它不像算法和模型那样式确定的步骤,更多的是工程上的经验和权衡,因此没有统一的方法,但是sklearn提供了较为完整的特征处 ...
- SQL命令入门。
1.创建数据库:create database ***: 2.删除数据库:drop database ***: 3.创建数据库的时候设置一些参数选项. create database MyDatab ...
- ASP.NET MVC 学习笔记-6.异步控制器
1) 异步控制器的由来 对于IIS,它维护了一个.NET线程池来处理客户端请求,这个线程池称为工作线程池,其中的线程称为工作线程.当IIS接收到一个请求时,需要从工作线程池中唤醒一个工 ...
- php中的implements 使用详解
php类中接口的应用关键字是interface.implements了,接口是一种成员属性全部为抽象或常量的特殊抽象类,implements主要是对类名,类所拥有的方法,以及所传参数起约束和规范做用, ...