当前位置:网站首页>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
边栏推荐
- 2022.6.20-6.26 AI industry weekly (issue 103): new little life
- 【luogu P3295】萌萌哒(并查集)(倍增)
- "14th five year plan": emphasis on the promotion of electronic contracts, electronic signatures and other applications
- 【SQL】各主流数据库sql拓展语言(T-SQL 、 PL/SQL、PL/PGSQL)
- GFS distributed file system
- 如何让同步/刷新的图标(el-icon-refresh)旋转起来
- Russian Foreign Ministry: Japan and South Korea's participation in the NATO summit affects security and stability in Asia
- Problem solving win10 quickly open ipynb file
- STM32__ 06 - single channel ADC
- Yunna | what are the main operating processes of the fixed assets management system
猜你喜欢

GFS Distributed File System

GFS分布式文件系統

Doppler effect (Doppler shift)

How to rotate the synchronized / refreshed icon (EL icon refresh)

GFS distributed file system

Spreadjs 15.1 CN and spreadjs 15.1 en

行列式学习笔记(一)

Rsync remote synchronization

Initialiser votre vecteur & initialisateur avec une liste Introduction à la Liste

20220703 week race: number of people who know the secret - dynamic rules (problem solution)
随机推荐
Open source CRM customer relationship system management system source code, free sharing
SpreadJS 15.1 CN 与 SpreadJS 15.1 EN
"14th five year plan": emphasis on the promotion of electronic contracts, electronic signatures and other applications
[Luogu cf487e] tours (square tree) (tree chain dissection) (line segment tree)
TS type declaration
[EF core] mapping relationship between EF core and C data type
C # input how many cards are there in each of the four colors.
Upgrade openssl-1.1.1p for openssl-1.0.2k
5. Logistic regression
Spire Office 7.5.4 for NET
Fiddler Everywhere 3.2.1 Crack
15 MySQL stored procedures and functions
用列錶初始化你的vector&&initializer_list簡介
Initialiser votre vecteur & initialisateur avec une liste Introduction à la Liste
如何让同步/刷新的图标(el-icon-refresh)旋转起来
Huawei simulator ENSP - hcip - MPLS experiment
传输层协议------UDP协议
How to get all the values stored in localstorage
软件测试工程师必会的银行存款业务,你了解多少?
How to improve eloquence