本文内容:

  • 复制文件法
  • 利用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之数据备份与恢复的更多相关文章

  1. 10 MySQL之数据备份与恢复

    01-数据备份 # 1.使用 MySQLdump 命令备份 MySQLdump 是MySQL提供的一个非常有用的数据库备份工具. MySQLdump 命令执行时,可以将数据库备份成一个文本文件,该文本 ...

  2. mysql数据库数据备份与恢复

    备份数据: C:\Users\Administrator>mysqldump -uroot --password -v test01 test02 >e:\temp\\a3.sql Ent ...

  3. Mysql 数据备份与恢复,用户创建,授权

    Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create  ...

  4. Database基础(四):密码恢复及设置、 用户授权及撤销、数据备份与恢复、MySQL管理工具

    一.密码恢复及设置 目标: 本案例要求熟悉MySQL管理密码的控制,完成以下任务操作: 练习重置MySQL管理密码的操作 通过正常途径设置MySQL数据库的管理密码 步骤: 步骤一:重置MySQL管理 ...

  5. Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录

    在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex.innobacku ...

  6. MySQL的数据备份以及pymysql的使用

    一.MySQL的数据备份 语法: # mysqldump -h 服务器 -u用户名 -p密码 数据库名 > 备份文件.sql #示例: #单库备份 mysqldump -uroot -p123 ...

  7. Linux下MySQL数据库的备份与恢复

    Linux下MySQL数据库的备份与恢复 作者:Grey 原文地址: Github 语雀 博客园 基于版本 MySQL5.7 Deepin Linux 15.11 xtrabackup-2.4.18 ...

  8. 数据备份与恢复 半持久化 全持久化 fork aof rdb Backing up Disaster recovery 备份 容灾

    Redis数据备份与恢复 - 流年晕开时光 - 博客园 https://www.cnblogs.com/deny/p/11531355.html Redis数据备份与恢复 Redis所有数据都是保存在 ...

  9. mysql 插入数据失败防止自增长主键增长的方法

    mysql设置了自增长主键ID,插入失败的那个自增长ID也加一的,比如失败5个,下一个成功的不是在原来最后成功数据加1,而是直接变成加6了,失败次数一次就自动增长1了,能不能让失败的不增长的? 或者说 ...

随机推荐

  1. [转&精]IO_STACK_LOCATION与IRP的一点笔记

    IO_STACK_LOCATION和IRP算是驱动中两个很基础的东西,为了理解这两个东西,找了一点资料. 1. IRP可以看成是Win32窗口程序中的消息(Message),DEVICE_OBJECT ...

  2. 【原创】驱动卸载之ControlService函数

    BOOL WINAPI ControlService( _In_ SC_HANDLE hService, _In_ DWORD dwControl, _Out_ LPSERVICE_STATUS lp ...

  3. 支付宝客户端架构解析:Android 容器化框架初探

    摘要: 本文将介绍支付宝 Android 容器化框架设计的基本思路. 1. 前言 由本章节开始,我们将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”.“网络优化”.“性能启动优化 ...

  4. Elastic Search 安装和配置

    目标 部署一个单节点的ElasticSearch集群 依赖 java环境 $java -version java version "1.8.0_161" Java(TM) SE R ...

  5. Maven json-lib依赖下载不下来解决方案

    今天Maven添加依赖时候发现json lib这个包引入之后,死活出不来JSONObject这个类,打开Maven Project视图,发现json-lib这个包没下下来,以前也遇到过类似问题,都是网 ...

  6. 让Python代码更快运行的 5 种方法

    不论什么语言,我们都需要注意性能优化问题,提高执行效率.选择了脚本语言就要忍受其速度,这句话在某种程度上说明了Python作为脚本语言的不足之处,那就是执行效率和性能不够亮.尽管Python从未如C和 ...

  7. spring学习(一) ———— IOC讲解

    spring基本就两个核心内容,IOC和AOP.把这两个学会了基本上就会用了. --WH 一.什么是IOC? IOC:控制反转,通俗点讲,将对象的创建权交给spring,我们需要new对象,则由spr ...

  8. centos7安装遇到的坑

    1.安装中遇到what is the location of the gcc program on your machine 直接输入 no.意思就是跳过gcc的安装了.但是系统虽然安装了vmware ...

  9. YARN集群的mapreduce测试(六)

    两张表链接操作(分布式缓存): ----------------------------------假设:其中一张A表,只有20条数据记录(比如group表)另外一张非常大,上亿的记录数量(比如use ...

  10. NLP入门(二)探究TF-IDF的原理

    TF-IDF介绍   TF-IDF是NLP中一种常用的统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度,通常用于提取文本的特征,即关键词.字词的重要性随着它在文件中出现的 ...