LOCK TABLES Privilege
This page is part of MariaDB's Documentation.
The parent of this page is: Privileges for MariaDB Xpand
Topics on this page:
Overview
Grants ability to execute LOCK TABLES
.
This also requires the
SELECT
privilege.
Note that the tables are not actually locked by Xpand, as this privilege is primarily for compatibility.
DETAILS
Scope: Global, Database
Privilege name for
GRANT
:LOCK TABLES
Privilege name for
REVOKE
:LOCK TABLES
Privilege shown by
SHOW GRANTS
:LOCK TABLES
MariaDB Xpand's LOCK TABLES
privilege allows certain SQL statements to be executed:
However, although Xpand accepts LOCK TABLES
and UNLOCK TABLES
statements without error, Xpand does not actually lock or unlock the table.
EXAMPLES
GRANT
The following examples demonstrate grant of a single privilege. A single GRANT
statement can grant multiple privileges at the same scope by providing a comma-separated list of the privileges.
To grant the LOCK TABLES
privilege at global scope, replace the user specification ('USERNAME'@'HOSTNAME'
) in the following query to align to your requirements:
GRANT LOCK TABLES
ON *.*
TO 'USERNAME'@'HOSTNAME';
To grant the LOCK TABLES
privilege at database scope, replace the user specification ('USERNAME'@'HOSTNAME'
) and database name (DATABASE_NAME
) in the following query to align to your requirements:
GRANT LOCK TABLES
ON DATABASE_NAME.*
TO 'USERNAME'@'HOSTNAME';
REVOKE
The following examples demonstrate revoke of a single previously-granted privilege. A single REVOKE
statement can revoke multiple privileges at the same scope by providing a comma-separated list of the privileges.
To revoke the LOCK TABLES
privilege at global scope, replace the user specification ('USERNAME'@'HOSTNAME'
) in the following query to align to your requirements:
REVOKE LOCK TABLES
ON *.*
FROM 'USERNAME'@'HOSTNAME';
To revoke the LOCK TABLES
privilege at database scope, replace the user specification ('USERNAME'@'HOSTNAME'
) and database name (DATABASE_NAME
) in the following query to align to your requirements:
REVOKE LOCK TABLES
ON DATABASE_NAME.*
FROM 'USERNAME'@'HOSTNAME';
SHOW Output
A user's privileges can be displayed using the SHOW GRANTS
statement.
If the LOCK TABLES
privilege is present, it will be shown as LOCK TABLES
in the output. For example:
SHOW GRANTS FOR 'app_user'@'192.0.2.%';
+-----------------------------------------------------------+
| Grants for app_user@192.0.2.% |
+-----------------------------------------------------------+
| GRANT LOCK TABLES ON `app_db`.* TO 'app_user'@'192.0.2.%' |
+-----------------------------------------------------------+
Privilege Failure
The LOCK TABLES
privilege results in no failures since it makes no changes in operation.