JIYIK CN >

Current Location:Home > Learning > DATABASE > MySQL >

Displaying Locks in MySQL

Author:JIYIK Last Updated:2025/04/23 Views:

In this article, we will learn how to display locks in MySQL.


Displaying Locks in MySQL

You can change the properties of a table by assigning a MySQL lock flag to the table. To restrict other sessions from accessing the same table for a certain period of time, MySQL enables table locks that the client server may assign.

A client can acquire or release MySQL locks only for its session. This means that a client cannot access locks of a different session or release locks held by a different session.

MySQL provides two types of locks: read locks and write locks.

LOCK TABLES table_name READ as alias_table_name

Here, table_name indicates the table to be locked. When you use an alias to lock a table, you must use the alias in the statement to reference the locked table.

If a session has a READ lock, they cannot perform write operations on the table. This is because a READ lock can only read data from a table.

Without releasing the READ lock, other sessions cannot write to the table; therefore, they are blocked from doing so. Write operations enter a wait state until we release the READ lock.

As a result of the MDL reimplementation, GET_LOCK()uniquely named locks acquired using appear in the Performance Schema metadata lock tables. The lock name appears in the OBJECT_NAME column, and the OBJECT_TYPE column shows USER LEVEL LOCK.

You can use this knowledge to understand metadata lock dependencies between sessions. Not only can you see which lock a session is waiting for, but you can also see which lock currently controls it.

The metadata lock table cannot be altered; it is read-only.

Consider the following example to help you better understand the previous idea.

SELECT GET_LOCK('alias_table_name', 10);
SELECT * FROM performance_schema.metadata_locks WHERE OBJECT_TYPE='USER LEVEL LOCK'

The first statement in the preceding example gets data for the supplied lock name. In this case, alias_table_name specifies the name of the lock and 10 represents the timeout.

Retrieve information from the metadata lock table, where the object type is the one in the second statement USER LEVEL LOCK.

Run the above line of code in any browser compatible with MySQL. It will display the following result:

+----------------------------------+
| GET_LOCK('alias_table_name', 10) |
+----------------------------------+
|                                1 |
+----------------------------------+
1 row in set (0.00 sec)

*************************** 1. row ***************************
          OBJECT_TYPE: USER LEVEL LOCK
        OBJECT_SCHEMA: NULL
          OBJECT_NAME: alias_table_name
OBJECT_INSTANCE_BEGIN: 139872019610944
            LOCK_TYPE: EXCLUSIVE
        LOCK_DURATION: EXPLICIT
          LOCK_STATUS: GRANTED
               SOURCE: item_func.cc:5481
      OWNER_THREAD_ID: 35
       OWNER_EVENT_ID: 3
1 row in set (0.00 sec)

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

Display tables and database structure in MySQL

Publish Date:2025/04/23 Views:97 Category:MySQL

Today, we will learn about queries in MySQL that can display the table and database structure. We will use the mysqldump utility, DESCRIBE the , SHOW TABLES and SHOW CREATE TABLE the statements. We are using MySQL version 8.0.28 while writi

Select first row from MySQL table

Publish Date:2025/04/23 Views:112 Category:MySQL

Today, we will explore three scenarios and their solutions where we want to select the first row from a MySQL table. In the first scenario, we will learn to get the first row from a MySQL table where there are multiple instances of a partic

Insert timestamp into MySQL table

Publish Date:2025/04/23 Views:77 Category:MySQL

Today, we will learn how to TIMESTAMP insert date and time into a type column of a MySQL table according to the table definition. Create a MySQL table First, we will create the tables that we will use in this tutorial. Sample code: CREATE T

The difference between two tables in MySQL

Publish Date:2025/04/23 Views:102 Category:MySQL

In this article, we will learn how to find the difference between two tables in MySQL. The difference between two tables in MySQL We often need to compare two tables to find records in one table that have no matching records in the other ta

MySQL sorts data alphabetically

Publish Date:2025/04/23 Views:129 Category:MySQL

In this article, we will learn about various ways to sort data alphabetically in MySQL. Sort MySQL data alphabetically When you use the SELECT command to query data from a table, the rows in the result set are in arbitrary order. To order t

Display the current database in MySQL

Publish Date:2025/04/23 Views:199 Category:MySQL

This article focuses on the various queries that can be used to display the current database in MySQL. We will learn by using the Windows command line and MySQL Workbench. Display the current database in MySQL We can use the following query

Check if a database exists in MySQL

Publish Date:2025/04/23 Views:179 Category:MySQL

In this article, we will introduce many ways to check if a database exists in MySQL. Check if the database exists in MySQL The system schema is the schema that MySQL uses. It includes tables that contain data needed by a running MySQL serve

Get the sum of multiple columns in MySQL

Publish Date:2025/04/23 Views:125 Category:MySQL

In this article, we will learn how to sum multiple columns in MySQL. Sum multiple columns in MySQL You can use aggregate functions SUM() to calculate the total value in a collection. SUM() The function calculation does not consider NULL val

MySQL ForEach Loop

Publish Date:2025/04/23 Views:164 Category:MySQL

This article describes how to simulate a foreach loop in MySQL using INSERT, SELECT, WHERE, and JOIN in one statement. MySQL foreach loop To understand foreach loop simulation, let us create three tables with the following names and attribu

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial