mysqldump 参数--lock-tables浅析

栏目: 数据库 · Mysql · 发布时间: 8年前

内容简介:mysqldump 参数--lock-tables浅析

mysqldump有一个参数--lock-tables,以前对这个参数也没有详细了解过,直到上次有个网友问 参数lock-tables 是一次性锁定当前库的所有表,还是锁定当前导出表? ,之前一直以为只是锁定当前导出表,后面看了参数说明后,

-l, --lock-tables    Lock all tables for read.

                      (Defaults to on; use --skip-lock-tables to disable.)

自己也不怎么确认了,当时就测试了一下。准备一个稍微大一点的库,如果数据库太小,那么可能mysqldum命令一下子就导出了所有库,很难清晰的看到实验结果。

执行下面命令做逻辑备份

[root@DB-Server ~]# mysqldump -u root -p --default-character-set=utf8   --opt --extended-insert=false --lock-tables MyDB > db_backup_MyDB.sql

Enter password:

同时立即执行下面命令  

mysql> show open tables where in_use >0;
+----------+--------------------------------+--------+-------------+
| Database | Table                          | In_use | Name_locked |
+----------+--------------------------------+--------+-------------+
| MyDB     | AO_60DB71_VERSION              |      1 |           0 |
| MyDB     | AO_AEFED0_TEAM_TO_MEMBER       |      1 |           0 |
| MyDB     | AO_4B00E6_STASH_SETTINGS       |      1 |           0 |
| MyDB     | AO_2D3BEA_FOLIOCF              |      1 |           0 |
| MyDB     | AO_AEFED0_TEAM_ROLE            |      1 |           0 |
| MyDB     | AO_60DB71_DETAILVIEWFIELD      |      1 |           0 |
| MyDB     | AO_60DB71_LEXORANK             |      1 |           0 |
| MyDB     | AO_6714C7_REPORT_SCHEDULE      |      1 |           0 |
| MyDB     | AO_E8B6CC_SYNC_AUDIT_LOG       |      1 |           0 |
| MyDB     | cwd_application                |      1 |           0 |
| MyDB     | clusternode                    |      1 |           0 |
| MyDB     | AO_86ED1B_GRACE_PERIOD         |      1 |           0 |
| MyDB     | AO_60DB71_WORKINGDAYS          |      1 |           0 |
| MyDB     | cwd_directory                  |      1 |           0 |
| MyDB     | AO_2D3BEA_BASELINE             |      1 |           0 |
| MyDB     | fieldlayoutitem                |      1 |           0 |
| MyDB     | JQUARTZ_BLOB_TRIGGERS          |      1 |           0 |
| MyDB     | AO_013613_HD_SCHEME_MEMBER     |      1 |           0 |
| MyDB     | AO_2D3BEA_ALLOCATION           |      1 |           0 |
| MyDB     | AO_013613_WL_SCHEME            |      1 |           0 |
| MyDB     | AO_7DEABF_EXEC_CLUSTER_MESSAGE |      1 |           0 |
....................................................................

mysqldump 参数--lock-tables浅析

如上截图,执行mysqldump命令的时候,使用show open tables where in_use >0命令,你会看到MyDB里面的所有表的In_use的值都为1,意味着是当执行mysqldump命令时,是一次性锁定当前库的所有表。而不是锁定当前导出表。

In_use

The number of table locks or lock requests there are for the table . For example, if one client acquires a lock for a table using LOCK TABLE t1 WRITE, In_use will be 1. If another client issues LOCK TABLE t1 WRITE while the table remains locked, the client will block waiting for the lock, but the lock request causes In_use to be 2. If the count is zero, the table is open but not currently being used. In_use is also increased by the HANDLER ... OPEN statement and decreased by HANDLER ... CLOSE .

参考资料:

https://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html

https://oracle-base.com/articles/mysql/mysql-identify-locked-tables


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创业者手册

创业者手册

[美] 史蒂夫·布兰克、[美] 鲍勃·多夫 / 新华都商学院 / 机械工业出版社 / 2013-1 / 89.00元

我们发现,企业的成功程度和创始人使用本书的频繁程度成正比。书中折角越多,书被翻得越破,企业取得的成功就越显著。阅读本书切忌囫囵吞枣。 所有创业者都坚信自己的道路与众不同,他们在踏上创业之路时从不设计路线图,认为其他模式或模板并不适合自己。同样是初创企业,有些能够取得成功而有些只能沦落到廉价清库的下场,看起来这似乎是运气使然,然而事实并非如此。英雄成功的故事都是一样的。初创企业实现成功之路肯定......一起来看看 《创业者手册》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

随机密码生成器
随机密码生成器

多种字符组合密码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具