加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

对MySQL dump内部工作机制的举例分析

发布时间:2023-11-01 13:23:34 所属栏目:MySql教程 来源:
导读:小编给大家分享一下mysqldump内部实现原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们可以通过打开general log

小编给大家分享一下mysqldump内部实现原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

我们可以通过打开general log,查看mysqldump全库备份时执行的命令来了解mysqldump背后的原理。

打开general log

mysql> set global general_log=on;

其中,general log的存放路径可通过以下命令查看

mysql> show variables like '%general_log_file%';

总结

1、--master-data产生如下,会导致mysqldump期间无法执行DDL和DML,而且执行mysqldump之前表有锁,则mysqldump会等待,导出结果是发生mysqldump这一刻的数据

FLUSH /*!40101 LOCAL */ TABLES和FLUSH TABLES WITH READ LOCK和SHOW MASTER STATUS

2、--lock-all-tables产生如下,会导致mysqldump期间无法执行DDL和DML,而且执行mysqldump之前表有锁,则mysqldump会等待,导出结果是发生mysqldump这一刻的数据

FLUSH TABLES和FLUSH TABLES WITH READ LOCK

3、--master-data和--lock-all-tables同时使用时,效果和--master-data一致

4、--single-transaction产生如下,mysqldump期间不影响DML和DDL,但是mysqldump本身可能受DDL影响而报错退出,mysqldump之前表有锁,mysqldump也不会等待,导出结果是发生mysqldump这一刻的数据

UNLOCK TABLES,SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ,SAVEPOINT,ROLLBACK TO SAVEPOINT,RELEASE SAVEPOINT

5、--skip-lock-tables不产生任何LOCK,mysqldump期间不影响DML和DDL,但是mysqldump本身可能受DDL影响而报错退出,mysqldump之前表有锁,mysqldump也不会等待,导出结果不是mysqldump这一刻的数据,而是导那张表的开始时刻就是该表的数据(比如导A表是8:00,则导出过程要一个小时,导出结果也是8:00的数据,导B表是9:00,则导出过程要一个小时,B的导出结果也是9:00的数据),和oracle 的expdp相似。

6、默认导出产生如下,会导致mysqldump期间,正在执行导出的库无法执行DDL和DML,没有在执行导出的库可以执行DDL和DML,mysqldump之前表有锁,mysqldump也不会等待,导出结果不是发生mysqldump这一刻的数据,而是导那个库的开始时刻就是那个库的数据(比如导A库是8:00,则导出过程要一个小时,A的导出结果也是8:00的数据,导B库是9:00,则导出过程要一个小时,B的导出结果也是9:00的数据)。

LOCK TABLES `table1` READ /*!32311 LOCAL */,`table2` READ /*!32311 LOCAL */

UNLOCK TABLES

7、生成建库语句,生成建表语句,备份的核心语句(该语句查询到表table1的所有数据,在备份文件中会生成相应的insert语句。其中SQL_NO_CACHE的作用是查询的结果并不会缓存到查询缓存中),分别如下

SHOW CREATE DATABASE IF NOT EXISTS `test1`

show create table `table1`

SELECT /*!40001 SQL_NO_CACHE */ * FROM `table1`

--master-data日志如下

有FLUSH /*!40101 LOCAL */ TABLES和FLUSH TABLES WITH READ LOCK和SHOW MASTER STATUS

没有任何UNLOCK

mysqldump --master-data=2 --databases test1 > /home/test1_2.sql

2019-01-06T06:29:59.361208Z   4 Connect       root@localhost on using Socket

2019-01-06T06:29:59.361337Z   4 Query /*!40100 SET @@SQL_MODE='' */

2019-01-06T06:29:59.361434Z   4 Query /*!40103 SET TIME_ZONE='+00:00' */

2019-01-06T06:29:59.361558Z   4 Query FLUSH /*!40101 LOCAL */ TABLES

2019-01-06T06:29:59.369450Z   4 Query FLUSH TABLES WITH READ LOCK

2019-01-06T06:29:59.369580Z   4 Query SHOW VARIABLES LIKE 'gtid\_mode'

2019-01-06T06:29:59.372284Z   4 Query SHOW MASTER STATUS

2019-01-06T06:29:59.372533Z   4 Query SELECT ...

...

2019-01-06T06:29:59.375795Z   4 Query SHOW VARIABLES LIKE 'ndbinfo\_version'

2019-01-06T06:29:59.378605Z   4 Init DB       test1

2019-01-06T06:29:59.378670Z   4 Query SHOW CREATE DATABASE IF NOT EXISTS `test1`

2019-01-06T06:29:59.378767Z   4 Query show tables

2019-01-06T06:29:59.379070Z   4 Query show table status like 'table1'

2019-01-06T06:29:59.379457Z   4 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T06:29:59.379555Z   4 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:29:59.379649Z   4 Query show create table `table1`

2019-01-06T06:29:59.379778Z   4 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:29:59.379940Z   4 Query show fields from `table1`

2019-01-06T06:29:59.380463Z   4 Query show fields from `table1`

2019-01-06T06:29:59.380933Z   4 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table1`

2019-01-06T06:29:59.381225Z   4 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:29:59.381323Z   4 Query use `test1`

2019-01-06T06:29:59.381416Z   4 Query select @@collation_database

2019-01-06T06:29:59.381546Z   4 Query SHOW TRIGGERS LIKE 'table1'

2019-01-06T06:29:59.382209Z   4 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:29:59.382309Z   4 Query show table status like 'table2'

2019-01-06T06:29:59.382597Z   4 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T06:29:59.382670Z   4 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:29:59.382746Z   4 Query show create table `table2`

2019-01-06T06:29:59.382848Z   4 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:29:59.382983Z   4 Query show fields from `table2`

2019-01-06T06:29:59.383385Z   4 Query show fields from `table2`

2019-01-06T06:29:59.383782Z   4 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table2`

2019-01-06T06:29:59.384125Z   4 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:29:59.384223Z   4 Query use `test1`

2019-01-06T06:29:59.384312Z   4 Query select @@collation_database

2019-01-06T06:29:59.384430Z   4 Query SHOW TRIGGERS LIKE 'table2'

2019-01-06T06:29:59.385032Z   4 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:29:59.420821Z   4 Quit

 

--single-transaction日志如下

没有FLUSH /*!40101 LOCAL */ TABLES和FLUSH TABLES WITH READ LOCK

只有UNLOCK TABLES,SAVEPOINT,ROLLBACK TO SAVEPOINT,RELEASE SAVEPOINT

mysqldump --single-transaction --databases test1 > /home/test1_2.sql

2019-01-06T06:16:52.542170Z   8 Connect       root@localhost on using Socket

2019-01-06T06:16:52.542314Z   8 Query /*!40100 SET @@SQL_MODE='' */

2019-01-06T06:16:52.542433Z   8 Query /*!40103 SET TIME_ZONE='+00:00' */

2019-01-06T06:16:52.542593Z   8 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ

2019-01-06T06:16:52.542674Z   8 Query START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */

2019-01-06T06:16:52.542794Z   8 Query SHOW VARIABLES LIKE 'gtid\_mode'

2019-01-06T06:16:52.545877Z   8 Query UNLOCK TABLES

2019-01-06T06:16:52.546158Z   8 Query SELECT...

...

2019-01-06T06:16:52.550745Z   8 Query SHOW VARIABLES LIKE 'ndbinfo\_version'

2019-01-06T06:16:52.553711Z   8 Init DB       test1

2019-01-06T06:16:52.553793Z   8 Query SHOW CREATE DATABASE IF NOT EXISTS `test1`

2019-01-06T06:16:52.553896Z   8 Query SAVEPOINT sp

2019-01-06T06:16:52.554040Z   8 Query show tables

2019-01-06T06:16:52.554281Z   8 Query show table status like 'table1'

2019-01-06T06:16:52.554665Z   8 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T06:16:52.554766Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:16:52.554862Z   8 Query show create table `table1`

2019-01-06T06:16:52.555144Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:16:52.555263Z   8 Query show fields from `table1`

2019-01-06T06:16:52.555766Z   8 Query show fields from `table1`

2019-01-06T06:16:52.556323Z   8 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table1`

2019-01-06T06:16:52.556585Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:16:52.556682Z   8 Query use `test1`

2019-01-06T06:16:52.556776Z   8 Query select @@collation_database

2019-01-06T06:16:52.556908Z   8 Query SHOW TRIGGERS LIKE 'table1'

2019-01-06T06:16:52.557623Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:16:52.557709Z   8 Query ROLLBACK TO SAVEPOINT sp

2019-01-06T06:16:52.557793Z   8 Query show table status like 'table2'

2019-01-06T06:16:52.558118Z   8 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T06:16:52.558191Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:16:52.558264Z   8 Query show create table `table2`

2019-01-06T06:16:52.558391Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:16:52.558481Z   8 Query show fields from `table2`

2019-01-06T06:16:52.558904Z   8 Query show fields from `table2`

2019-01-06T06:16:52.559413Z   8 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table2`

2019-01-06T06:16:52.559580Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:16:52.559653Z   8 Query use `test1`

2019-01-06T06:16:52.559726Z   8 Query select @@collation_database

2019-01-06T06:16:52.559858Z   8 Query SHOW TRIGGERS LIKE 'table2'

2019-01-06T06:16:52.560307Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:16:52.560378Z   8 Query ROLLBACK TO SAVEPOINT sp

2019-01-06T06:16:52.560465Z   8 Query RELEASE SAVEPOINT sp

2019-01-06T06:16:52.658772Z   8 Quit

 

--skip-lock-tables日志如下

没有FLUSH /*!40101 LOCAL */ TABLES和FLUSH TABLES WITH READ LOCK

也没有任何UNLOCK

mysqldump --skip-lock-tables --databases test2 > /home/test1_2.sql

2019-01-03T14:35:41.956739Z   7 Connect       root@localhost on using Socket

2019-01-03T14:35:41.956875Z   7 Query /*!40100 SET @@SQL_MODE='' */

2019-01-03T14:35:41.956976Z   7 Query /*!40103 SET TIME_ZONE='+00:00' */

2019-01-03T14:35:41.957122Z   7 Query SHOW VARIABLES LIKE 'gtid\_mode'

2019-01-03T14:35:41.959794Z   7 Query SELECT ...

...

2019-01-03T14:35:41.965124Z   7 Query SHOW VARIABLES LIKE 'ndbinfo\_version'

2019-01-03T14:35:41.967453Z   7 Init DB       test2

2019-01-03T14:35:41.967557Z   7 Query SHOW CREATE DATABASE IF NOT EXISTS `test2`

2019-01-03T14:35:41.967659Z   7 Query show tables

2019-01-03T14:35:41.967871Z   7 Query show table status like 't1'

2019-01-03T14:35:41.968196Z   7 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-03T14:35:41.968279Z   7 Query SET SESSION character_set_results = 'binary'

2019-01-03T14:35:41.968359Z   7 Query show create table `t1`

2019-01-03T14:35:41.968468Z   7 Query SET SESSION character_set_results = 'utf8'

2019-01-03T14:35:41.968690Z   7 Query show fields from `t1`

2019-01-03T14:35:41.969127Z   7 Query show fields from `t1`

2019-01-03T14:35:41.969589Z   7 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `t1`

2019-01-03T14:35:41.969824Z   7 Query SET SESSION character_set_results = 'binary'

2019-01-03T14:35:41.969906Z   7 Query use `test2`

2019-01-03T14:35:41.969986Z   7 Query select @@collation_database

2019-01-03T14:35:41.970098Z   7 Query SHOW TRIGGERS LIKE 't1'

2019-01-03T14:35:41.970753Z   7 Query SET SESSION character_set_results = 'utf8'

2019-01-03T14:35:41.970855Z   7 Query show table status like 't2'

2019-01-03T14:35:41.971246Z   7 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-03T14:35:41.971325Z   7 Query SET SESSION character_set_results = 'binary'

2019-01-03T14:35:41.971404Z   7 Query show create table `t2`

2019-01-03T14:35:41.971671Z   7 Query SET SESSION character_set_results = 'utf8'

2019-01-03T14:35:41.971807Z   7 Query show fields from `t2`

2019-01-03T14:35:41.972269Z   7 Query show fields from `t2`

2019-01-03T14:35:41.972777Z   7 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `t2`

默认备份日志如下

没有FLUSH /*!40101 LOCAL */ TABLES和FLUSH TABLES WITH READ LOCK

但是有LOCK TABLES,结尾有UNLOCK TABLES

mysqldump --databases test2 > /home/test1_2.sql

2019-01-03T14:38:19.276575Z   8 Connect       root@localhost on using Socket

2019-01-03T14:38:19.276814Z   8 Query /*!40100 SET @@SQL_MODE='' */

2019-01-03T14:38:19.276918Z   8 Query /*!40103 SET TIME_ZONE='+00:00' */

2019-01-03T14:38:19.277065Z   8 Query SHOW VARIABLES LIKE 'gtid\_mode'

2019-01-03T14:38:19.279690Z   8 Query SELECT ...

...

2019-01-03T14:38:19.285033Z   8 Query SHOW VARIABLES LIKE 'ndbinfo\_version'

2019-01-03T14:38:19.287392Z   8 Init DB       test2

2019-01-03T14:38:19.287461Z   8 Query SHOW CREATE DATABASE IF NOT EXISTS `test2`

2019-01-03T14:38:19.287559Z   8 Query show tables

2019-01-03T14:38:19.287886Z   8 Query LOCK TABLES `t1` READ /*!32311 LOCAL */,`t2` READ /*!32311 LOCAL */,`t3` READ /*!32311 LOCAL */,`t4` READ /*!32311 LOCAL */,`t7` READ /*!32311 LOCAL */

2019-01-03T14:38:19.288043Z   8 Query show table status like 't1'

2019-01-03T14:38:19.288403Z   8 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-03T14:38:19.288488Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-03T14:38:19.288569Z   8 Query show create table `t1`

2019-01-03T14:38:19.288714Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-03T14:38:19.288808Z   8 Query show fields from `t1`

2019-01-03T14:38:19.289236Z   8 Query show fields from `t1`

2019-01-03T14:38:19.289789Z   8 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `t1`

2019-01-03T14:38:19.290008Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-03T14:38:19.290090Z   8 Query use `test2`

2019-01-03T14:38:19.290171Z   8 Query select @@collation_database

2019-01-03T14:38:19.290281Z   8 Query SHOW TRIGGERS LIKE 't1'

2019-01-03T14:38:19.290768Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-03T14:38:19.290869Z   8 Query show table status like 't2'

2019-01-03T14:38:19.291184Z   8 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-03T14:38:19.291260Z   8 Query SET SESSION character_set_results = 'binary'

2019-01-03T14:38:19.291338Z   8 Query show create table `t2`

2019-01-03T14:38:19.291437Z   8 Query SET SESSION character_set_results = 'utf8'

2019-01-03T14:38:19.291528Z   8 Query show fields from `t2`

2019-01-03T14:38:19.292061Z   8 Query show fields from `t2`

2019-01-03T14:38:19.292454Z   8 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `t2`

2019-01-03T14:38:19.292612Z   8 Query SET SESSION character_set_results = 'binary'

...

2019-01-03T14:38:19.302719Z   8 Query UNLOCK TABLES

2019-01-03T14:38:19.306712Z   8 Quit

--lock-all-tables

产生FLUSH TABLES和FLUSH TABLES WITH READ LOCK

没有任何UNLOCK

mysqldump --lock-all-tables --databases test1 > /home/test1_2.sql

2019-01-06T06:47:17.614479Z   5 Connect       root@localhost on using Socket

2019-01-06T06:47:17.614801Z   5 Query /*!40100 SET @@SQL_MODE='' */

2019-01-06T06:47:17.614922Z   5 Query /*!40103 SET TIME_ZONE='+00:00' */

2019-01-06T06:47:17.615074Z   5 Query FLUSH TABLES

2019-01-06T06:47:17.620471Z   5 Query FLUSH TABLES WITH READ LOCK

2019-01-06T06:47:17.620629Z   5 Query SHOW VARIABLES LIKE 'gtid\_mode'

2019-01-06T06:47:17.623672Z   5 Query SELECT ...

...

2019-01-06T06:47:17.626996Z   5 Query SHOW VARIABLES LIKE 'ndbinfo\_version'

2019-01-06T06:47:17.629714Z   5 Init DB       test1

2019-01-06T06:47:17.629798Z   5 Query SHOW CREATE DATABASE IF NOT EXISTS `test1`

2019-01-06T06:47:17.629916Z   5 Query show tables

2019-01-06T06:47:17.630154Z   5 Query show table status like 'table1'

2019-01-06T06:47:17.630615Z   5 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T06:47:17.630702Z   5 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:47:17.630780Z   5 Query show create table `table1`

2019-01-06T06:47:17.630889Z   5 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:47:17.630979Z   5 Query show fields from `table1`

2019-01-06T06:47:17.631397Z   5 Query show fields from `table1`

2019-01-06T06:47:17.632023Z   5 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table1`

2019-01-06T06:47:17.632286Z   5 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:47:17.632384Z   5 Query use `test1`

2019-01-06T06:47:17.632479Z   5 Query select @@collation_database

2019-01-06T06:47:17.632668Z   5 Query SHOW TRIGGERS LIKE 'table1'

2019-01-06T06:47:17.633103Z   5 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:47:17.633202Z   5 Query show table status like 'table2'

2019-01-06T06:47:17.633489Z   5 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T06:47:17.633713Z   5 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:47:17.633811Z   5 Query show create table `table2`

2019-01-06T06:47:17.633937Z   5 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:47:17.634045Z   5 Query show fields from `table2`

2019-01-06T06:47:17.634532Z   5 Query show fields from `table2`

2019-01-06T06:47:17.635011Z   5 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table2`

2019-01-06T06:47:17.635177Z   5 Query SET SESSION character_set_results = 'binary'

2019-01-06T06:47:17.635250Z   5 Query use `test1`

2019-01-06T06:47:17.635317Z   5 Query select @@collation_database

2019-01-06T06:47:17.635400Z   5 Query SHOW TRIGGERS LIKE 'table2'

2019-01-06T06:47:17.635962Z   5 Query SET SESSION character_set_results = 'utf8'

2019-01-06T06:47:17.639473Z   5 Quit

--lock-all-tables --master-data同时使用

mysqldump --lock-all-tables --master-data=2 --databases test1 > /home/test1_2.sql

2019-01-06T07:11:08.806918Z  10 Connect       root@localhost on using Socket

2019-01-06T07:11:08.807047Z  10 Query /*!40100 SET @@SQL_MODE='' */

2019-01-06T07:11:08.807174Z  10 Query /*!40103 SET TIME_ZONE='+00:00' */

2019-01-06T07:11:08.807392Z  10 Query FLUSH /*!40101 LOCAL */ TABLES

2019-01-06T07:11:08.807499Z  10 Query FLUSH TABLES WITH READ LOCK

2019-01-06T07:11:08.807598Z  10 Query SHOW VARIABLES LIKE 'gtid\_mode'

2019-01-06T07:11:08.810307Z  10 Query SHOW MASTER STATUS

2019-01-06T07:11:08.810538Z  10 Query SELECT ...

...

2019-01-06T07:11:08.813490Z  10 Query SHOW VARIABLES LIKE 'ndbinfo\_version'

2019-01-06T07:11:08.815880Z  10 Init DB       test1

2019-01-06T07:11:08.815948Z  10 Query SHOW CREATE DATABASE IF NOT EXISTS `test1`

2019-01-06T07:11:08.816048Z  10 Query show tables

2019-01-06T07:11:08.816379Z  10 Query show table status like 'table1'

2019-01-06T07:11:08.816703Z  10 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T07:11:08.816787Z  10 Query SET SESSION character_set_results = 'binary'

2019-01-06T07:11:08.816868Z  10 Query show create table `table1`

2019-01-06T07:11:08.816977Z  10 Query SET SESSION character_set_results = 'utf8'

2019-01-06T07:11:08.817070Z  10 Query show fields from `table1`

2019-01-06T07:11:08.817533Z  10 Query show fields from `table1`

2019-01-06T07:11:08.817952Z  10 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table1`

2019-01-06T07:11:08.818288Z  10 Query SET SESSION character_set_results = 'binary'

2019-01-06T07:11:08.818376Z  10 Query use `test1`

2019-01-06T07:11:08.818455Z  10 Query select @@collation_database

2019-01-06T07:11:08.818567Z  10 Query SHOW TRIGGERS LIKE 'table1'

2019-01-06T07:11:08.818996Z  10 Query SET SESSION character_set_results = 'utf8'

2019-01-06T07:11:08.819080Z  10 Query show table status like 'table2'

2019-01-06T07:11:08.819376Z  10 Query SET SQL_QUOTE_SHOW_CREATE=1

2019-01-06T07:11:08.819439Z  10 Query SET SESSION character_set_results = 'binary'

2019-01-06T07:11:08.819503Z  10 Query show create table `table2`

2019-01-06T07:11:08.819589Z  10 Query SET SESSION character_set_results = 'utf8'

2019-01-06T07:11:08.819664Z  10 Query show fields from `table2`

2019-01-06T07:11:08.819993Z  10 Query show fields from `table2`

2019-01-06T07:11:08.820434Z  10 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `table2`

2019-01-06T07:11:08.820578Z  10 Query SET SESSION character_set_results = 'binary'

2019-01-06T07:11:08.820644Z  10 Query use `test1`

2019-01-06T07:11:08.820707Z  10 Query select @@collation_database

2019-01-06T07:11:08.820789Z  10 Query SHOW TRIGGERS LIKE 'table2'

2019-01-06T07:11:08.821171Z  10 Query SET SESSION character_set_results = 'utf8'

2019-01-06T07:11:08.846442Z  10 Quit

SELECT ...

...

内如为

2019-01-01T06:16:52.546158Z   8 Query SELECT LOGFILE_GROUP_NAME, FILE_NAME, TOTAL_EXTENTS, INITIAL_SIZE, ENGINE, EXTRA FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'UNDO LOG' AND FILE_NAME IS NOT NULL AND LOGFILE_GROUP_NAME IS NOT NULL AND LOGFILE_GROUP_NAME IN (SELECT DISTINCT LOGFILE_GROUP_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA IN ('test1'))) GROUP BY LOGFILE_GROUP_NAME, FILE_NAME, ENGINE ORDER BY LOGFILE_GROUP_NAME

2019-01-01T06:16:52.549144Z   8 Query SELECT DISTINCT TABLESPACE_NAME, FILE_NAME, LOGFILE_GROUP_NAME, EXTENT_SIZE, INITIAL_SIZE, ENGINE FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA IN ('test1')) ORDER BY TABLESPACE_NAME, LOGFILE_GROUP_NAME

以上是“mysqldump内部实现原理的示例分析”这篇文章的所有内容,感谢各位的阅读!

(编辑:银川站长网)

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

    推荐文章