加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysqldump命令详解 Part 3- 备份全库

发布时间:2022-11-26 02:37:16 所属栏目:MySql教程 来源:网络
导读: 前面说了MySQL Linux平台和Windows平台的安装
下面开始是MySQL的一些学习笔记
前面我们说了如果构造数据
这节开始说MySQL 的备份
环境为MySQL 5.7.25
在解释命令之前我们先弄清楚数据库中有

前面说了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

mysql 备份 mysqldump_mysql备份_mysql mysqldump 备份锁表

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

1.2 备份独立数据库

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

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

2. 备份内容解释

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

2.1 版本信息

mysql mysqldump 备份锁表_mysql备份_mysql 备份 mysqldump

第一行是mysqldump的版本

这里为10.13的版本

第二三行显示主机名为127.0.0.1

数据库版本为5.7.25

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

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

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

2.2 GTID信息

mysql 备份 mysqldump_mysql备份_mysql mysqldump 备份锁表

-- 是MySQL的注释符号

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

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

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

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

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

关于GTID后续解释

2.3 数据库和表的信息

mysql mysqldump 备份锁表_mysql 备份 mysqldump_mysql备份

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

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 表数据的备份

mysql mysqldump 备份锁表_mysql备份_mysql 备份 mysqldump

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

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

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

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

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

最后释放锁(UNLOCK TABLES)

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

2.5 结束备份

mysql备份_mysql 备份 mysqldump_mysql mysqldump 备份锁表

最后是备份的完成日期

3.总结

所以全库备份出来的语句主要包含如下内容

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

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

所以默认这些是不导出的

经测试视图也会一并导出

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

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!