前面说了MySQL Linux平台和Windows平台的安装

下面开始是MySQL的一些学习笔记

前面我们说了如果构造数据

这节开始说MySQL 的备份

环境为MySQL 5.7.25

在解释命令之前我们先弄清楚数据库中有哪些对象

上一节我们建立了数据库并建立相关的对象数据库

存储过程

函数

触发器

事件

这节讲一些mysqldump的命令

mysqldump导出是MySQL逻辑备份的一种广泛采用的方式

今天的内容为备份全库

1. 备份语句

1.1 备份所有数据库

我们使用如下语句来备份所有数据库

mysqldump -h127.0.0.1 -usystem -p123456 --all-databases >/tmp/all.sql

或者如下命令

mysqldump -h127.0.0.1 -usystem -p123456 -A >/tmp/all.sql

命令后警告信息后面章节介绍

1.2 备份独立数据库

下面语句备份单独test数据库 ,多个数据库用空格隔开即可

mysqldump -h127.0.0.1 -usystem -p123456 --databases test >/tmp/test.sql

2. 备份内容解释

下面对备份出来的语句进行解释

2.1 版本信息

第一行是mysqldump的版本

这里为10.13的版本

第二三行显示主机名为127.0.0.1

数据库版本为5.7.25

接下来为一些系统变量的设置

注意这里/* !12345 */ 不是注释 (/* */ 是MySQL的多行注释符)

它表示如果MySQL的版本大于4.1.1 则执行相应的语句

2.2 GTID信息

-- 是MySQL的注释符号

接下来是清除掉的GTID的设置

如果在备份时未使用 --set-gtid-purged=off 参数 则会出现这行

这里建议加入该参数,否则在还原到其他服务器时会出错

GTID是全局事务唯一标识符,在一个MySQL环境中保持唯一,主要用于复制

GTID_PURGED的数字代表该GTID的事务及以前的事务不包含在所有的BINLOG中,这意味着无法重现该事务

关于GTID后续解释

2.3 数据库和表的信息

接下来是备份数据库的语句

Current Database :mysql 代表当前进行的是mysql数据库

后面跟的是建数据库的语句(CREATE DATABASE mysql)

如果不存在的话(IF NOT EXISTS),如果存在也不会删除

之后使用该数据库(use mysql)

接下来是表结构相关的(Table structure for table)

如果已经有该表则先删除(DROP TABLE IF EXISTS)

之后是建立mysql数据库下表的表结构的语句(Create TABLE )

2.4 表数据的备份

接下来是表数据的备份(Dumping data for table)

首先锁定表不让其他进程写(LOCK TABLE WRITE)

然后使MySQL停止更新非唯一索引(ALTER TABLE DISABLE KEYS),这样能加快插入速度

之后将数据转换成insert语句(INSERT INTO)

之后重新建立丢失的索引(ALTER TABLE ENABLE KEYS)

最后释放锁(UNLOCK TABLES)

直到该数据库所有的表导出完毕后进行下一个数据库

2.5 结束备份

最后是备份的完成日期

3.总结

所以全库备份出来的语句主要包含如下内容建立数据库(如果不存在)

使用数据库

删除表(如果存在)

建表

锁表

禁用非唯一索引

插入数据

启用非唯一索引(重建索引)

释放锁

视图导出

另外:可能注意到了上面的语句中只有数据库和表的信息

没有存储过程 函数 触发器等的信息

所以默认这些是不导出的

经测试视图也会一并导出

今天的内容就到这里,欢迎查看

3. mysqldump命令详解 Part 3- 备份全库​www.zhaibibei.cn

mysql dump gtid_mysqldump命令详解 Part 3- 备份全库相关推荐

  1. MySQL操作mysqldump命令详解

    MySQL操作mysqldump命令详解 基本命令: # 数据库备份-->mysqldump命令默认做锁表操作 mysqldump -uroot -ppassword --all-databas ...

  2. mysql查询优化explain命令详解

    转载自 mysql查询优化explain命令详解 mysql查询优化的方法有很多种,explain是工作当中用的比较多的一种检查方式.explain翻译即解释,就是看mysql语句的查询解释计划,从解 ...

  3. 转:mysql show processlist命令 详解

    转:mysql show processlist命令 详解 processlist 命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令. 1.        进 ...

  4. MySQL 数据库 source 命令详解及实例

    MySQL 数据库 source 命令详解及实例 MySQL 数据库 source 命令,该命令是数据库导入命令.source 命令的用法非常简单,首先你需要进入 MySQL 数据库的命令行管理界面, ...

  5. MySQL调试--explain命令详解

    原文网址:MySQL调试--explain命令详解_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL的explain命令的用法及其结果的含义. explain作用 概述 在 SELECT 语 ...

  6. linux命令详解及软件安装(全)

    前言 环境搭建 账号管理 开机关机 根目录结构 目录操作 文件操作 文件权限 vim编辑器 磁盘管理 进程管理 防火墙管理 进阶小故事之CPU深夜狂飙 进阶小故事之轻松分析定位JVM问题 交互工具 环 ...

  7. mysql+dump+选项_详解MySQL数据备份之mysqldump使用方法

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  8. php mysql grant_mysql grant命令详解_MySQL

    bitsCN.com grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant select on testdb.* ...

  9. Mysql中show命令详解

    MySQL中有很多的基本命令,show命令也是其中之一,在很多使用者中对show命令的使用还容易产生混淆,本文汇集了show命令的众多用法. a. show tables或show tables fr ...

最新文章

  1. Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别
  2. nginc+memcache
  3. python 贴吧自动回复机-Python实现微信自动回复机器人详细教程
  4. Codeforces 429 A. Xor-tree
  5. WordPress按钮秒支付插件发布,支持微信支付,支付宝,银联,京东,苏宁,易宝支付...
  6. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)
  7. 程序员面试金典 - 面试题 16.07. 最大数值(位运算求max)
  8. mybatis中修改了数据,控制台显示成功,数据库没有修改
  9. mysql的配置文件名称是_【MySQL学生手册】MySQL的配置文件
  10. linux安装pdf阅读器 | 安装删除有道词典
  11. 开会的五有五不四框架
  12. 【双碳政策】分布式光伏如何进行实时运维监测管理
  13. 什么是软件项目验收,软件项目验收测试方法分享
  14. 超详细!!vue、vue-cli脚手架项目使用prerender-spa-plugin,解决SEO并为其添加title,keyWords,descript
  15. Android+6.0的全盘加密(,Android6.0强制全盘加密 隐私牺牲性能
  16. 海思Hi3511芯片参数和工作原理介绍
  17. Linux文件服务站
  18. 弘辽科技:淘宝排名下降怎么回事呢?是什么原因导致排名下降?
  19. 计算机科学与技术实验题代做,计算机科学与技术专业代写(本科)毕业设计(论文)要求...
  20. 2021 大数据白皮书(中国信通院)

热门文章

  1. 并发工具类【线程安全相关的类】
  2. java 用流创建流_成为Java流大师–第1部分:创建流
  3. java无效的源发行版_无效的Java
  4. wso2 安装_WSO2注册表安装简介
  5. aws iam 架构图_使用IAM保护您的AWS基础架构
  6. jdk 1.8 jdk8_JDK 8功能的可疑方面
  7. 使用Spring Security,Thymeleaf和Okta保护Java应用程序的安全
  8. java上传文件功能_Java MemoryMapped文件的功能
  9. Spring Batch:多种格式输出编写器
  10. jframe透明_使JFrame透明