当前位置:网站首页>MySQL global lock and table lock
MySQL global lock and table lock
2022-07-05 23:55:00 【ADU】
MYSQL The lock inside can be divided into : Global lock , Table lock , Row-level locks
1 Global lock
Lock the whole database instance
MYSQL Provide global lock reading methods :Flush tables with read lock(FTWRL)
This command makes the entire library read-only , After using this command , Data update statement 、 Data definition statements and commit statements of update class transactions are blocked
1.1 Use scenarios
Global logical backup
risk :
- If the main database is backed up , Cannot update during backup , Business suspension
- If backing up from the Library , Cannot perform primary database synchronization during backup binlog, Cause master-slave delay
The official logic backup tool mysqlddump, When mysqldump Using parameter –single-transaction When , Will start a transaction , Make sure you get a consistent view . because MVCC Support for , The data in this process can be updated normally
Consistent reading is good , But only if the engine supports this isolation level
If you want the full library to be read-only , Why not use set global readonly=true The way ???
1 In some systems ,readonly The value of will be used for other logic , For example, judge the primary and standby databases . So modify global The way variables affect too much
2 There are differences in exception handling mechanisms , If you execute FTWRL After the command, due to the abnormal disconnection of the client , that MYSQL This global lock will be released automatically , The whole library can return to the normal update state . Instead, set the entire library to readonly after , If the client has an exception , Then the database will remain readonly state , This will cause the entire library to be in a non writable state for a long time , High risk
2 Table lock
MYSQL There are two kinds of meter level locks inside , One is watch lock , One is metadata lock (meta data lock, MDL)
2.1 Table locks
Syntax of table lock : lock tables…read/write
have access to unlock tables Active release lock , It can also be released automatically when the client is disconnected .lock tables The syntax will restrict the reading and writing of other threads , It also defines the next operation objects of this thread
about InnoDB This kind of engine supports row lock , commonly Don't use lock tables Command to control concurrency , After all, locking the whole table still has a great impact .
2.2 MDL
You don't need to explicitly use , It will be added automatically when accessing a table
effect : Ensure the correctness of reading and writing
1 When adding, deleting, modifying and querying a table , Add MDL Read the lock
2 When changing the table structure , Add MDL Write lock
3 Read locks are not mutually exclusive
4 Read-write lock , Write locks are mutually exclusive , It is used to ensure the security of the schema operation of the change table
5 MDL Will not be released until the transaction is committed , When making table structure changes , Be careful not to lock online queries and updates
边栏推荐
猜你喜欢

Go language introduction detailed tutorial (I): go language in the era

What if the C disk is not enough? Let's see how I can clean up 25g of temp disk space after I haven't redone the system for 4 years?

GFS分布式文件系統

CAS and synchronized knowledge

STM32__ 06 - single channel ADC

【LeetCode】5. Valid palindrome

云呐|固定资产管理系统功能包括哪些?

After summarizing more than 800 kubectl aliases, I'm no longer afraid that I can't remember commands!

上门预约服务类的App功能详解

Bao Yan notebook IV software engineering and calculation volume II (Chapter 8-12)
随机推荐
单商户V4.4,初心未变,实力依旧!
ts类型声明declare
保研笔记一 软件工程与计算卷二(1-7章)
Yunna | what are the main operating processes of the fixed assets management system
Zero rhino technology joined hands with the intelligence Club: the "causal faction" forum was successfully held, and the "causal revolution" brought the next generation of trusted AI
Cloudcompare & PCL point cloud randomly adds noise
20. Migrate freetype font library
How to improve eloquence
15 MySQL-存储过程与函数
转:未来,这样的组织才能扛住风险
[Luogu cf487e] tours (square tree) (tree chain dissection) (line segment tree)
【QT】Qt使用QJson生成json文件并保存
云呐|固定资产管理系统主要操作流程有哪些
Rasa 3.x 学习系列-Rasa 3.2.1 新版本发布
Miaochai Weekly - 8
行列式学习笔记(一)
Research notes I software engineering and calculation volume II (Chapter 1-7)
做自媒体影视短视频剪辑号,在哪儿下载素材?
Upgrade openssl-1.1.1p for openssl-1.0.2k
2022.7.5-----leetcode.729