zoukankan      html  css  js  c++  java
  • mysqldump备份时,--master-data选项的作用是什么?

    需求描述

      今天在研究mysql的备份和恢复,使用mysqldump备份数据库时,用到--master-data选项,

      在此,测试并记录选项的作用

    测试过程

    1.不使用--master-data进行数据库的备份

    [mysql@redhat6 ~]$ mysqldump -uroot -p --single-transaction --databases test01 > backup_test01.sql
    Enter password: 
    [mysql@redhat6 ~]$ ls -l
    total 238668
    -rw-rw-r--  1 mysql mysql 122191921 Apr  3 18:55 backup_test01.sql #mysqldump生成的sql格式的dump文件
    -rw-rw-r--  1 mysql mysql 122192066 Apr  3 18:52 ts01.sql
    drwxrwxr-x. 4 mysql mysql      4096 Mar 20 11:17 workspace
    [mysql@redhat6 ~]$ 

    2.查看dump的sql文件的信息

    -- MySQL dump 10.13  Distrib 5.5.57, for linux-glibc2.12 (x86_64)
    --
    -- Host: localhost    Database: test01
    -- ------------------------------------------------------
    -- Server version    5.5.57-log
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    
    --
    -- Current Database: `test01`
    --
    
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test01` /*!40100 DEFAULT CHARACTER SET latin1 */;

    3.使用--master-data参数进行mysqldump的备份

    [mysql@redhat6 ~]$ mysqldump -uroot -p --single-transaction --master-data --databases test01 > backup_test01.sql
    Enter password: 
    [mysql@redhat6 ~]$ ls -l
    total 238668
    -rw-rw-r--  1 mysql mysql 122192066 Apr  3 18:57 backup_test01.sql
    -rw-rw-r--  1 mysql mysql 122192066 Apr  3 18:52 ts01.sql
    drwxrwxr-x. 4 mysql mysql      4096 Mar 20 11:17 workspace

    4.查看生成的sql备份文件

    -- MySQL dump 10.13  Distrib 5.5.57, for linux-glibc2.12 (x86_64)
    --
    -- Host: localhost    Database: test01
    -- ------------------------------------------------------
    -- Server version    5.5.57-log
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE='+00:00' */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
    
    --
    -- Position to start replication or point-in-time recovery from
    --
    
    CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000090', MASTER_LOG_POS=107;
    
    --
    -- Current Database: `test01`
    --
    
    CREATE DATABASE /*!32312 IF NOT EXISTS*/ `test01` /*!40100 DEFAULT CHARACTER SET latin1 */;

    备注:标记为黄色的部分是多出来内容,该内容是二进制日志的信息,即在备份的时候,当前数据库二进制的信息。

    小结

      --master-data选项的作用就是将二进制的信息写入到输出文件中,在这里是写入到备份的sql文件中。

    文档创建时间:2018年4月3日19:00:45

  • 相关阅读:
    我理解的SNS(一)
    获取某命名规则下一系列表的总条数
    lock后日志干净了
    设计模式学习系列之UML图(创建型模式)
    CLR实用特征异常
    arcgis api for flex 高级主题(一) esri tilemap 四叉树索引研究<转>
    arcgis api for flex 开发入门(三)地图浏览控件的使用<转>
    深入浅出 Javascript API(三)地图配置<转>
    深入浅出 Javascript API(四)绘制 Graphics<转>
    arcgis api for flex 开发入门(二)map 的创建<转>
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/8710434.html
Copyright © 2011-2022 走看看