LOCK TABLES Privilege

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.

USAGE

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.

SYNONYMS

SCHEMA

PARAMETERS

SKYSQL

PRIVILEGES

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';

For general guidance on privileges, see "Privileges".

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';

For general guidance on privileges, see "Privileges".

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.

ERROR HANDLING

FEATURE INTERACTION

RESPONSES

DIAGNOSIS

ISO 9075:2016

CHANGE HISTORY

Release Series

History

23.09

  • Present starting in MariaDB Xpand 23.09.1.

6.1

  • Present starting in MariaDB Xpand 6.1.0.

6.0

  • Present starting in MariaDB Xpand 6.0.3.

5.3

  • Present starting in MariaDB Xpand 5.3.13.

Release Series

History

6.0

  • Present starting in MariaDB Xpand 6.0.3.

5.3

  • Present starting in MariaDB Xpand 5.3.13.

Release Series

History

6.1

  • Present starting in MariaDB Xpand 6.1.0.

EXTERNAL REFERENCES