GRANT OPTION Privilege

Overview

Grants ability to execute GRANT.

USAGE

DETAILS

  • Scope: Global, Database, Table, Routine

  • Privilege name for GRANT: GRANT OPTION

  • Privilege name for REVOKE: GRANT OPTION

  • Privilege shown by SHOW GRANTS: GRANT OPTION

SYNONYMS

SCHEMA

PARAMETERS

SKYSQL

PRIVILEGES

EXAMPLES

GRANT

To grant the GRANT OPTION privilege at global scope, replace the user specification ('USERNAME'@'HOSTNAME') in the following query to align to your requirements:

GRANT ALL PRIVILEGES
 ON *.*
 TO 'USERNAME'@'HOSTNAME'
 WITH GRANT OPTION;

To grant the GRANT OPTION 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 ALL PRIVILEGES
  ON DATABASE_NAME.*
  TO 'USERNAME'@'HOSTNAME'
  WITH GRANT OPTION;

To grant the GRANT OPTION privilege at table scope, replace the user specification ('USERNAME'@'HOSTNAME'), database name (DATABASE_NAME), and table name (TABLE_NAME) in the following query to align to your requirements

GRANT ALL PRIVILEGES
  ON DATABASE_NAME.TABLE_NAME
  TO 'USERNAME'@'HOSTNAME'
  WITH GRANT OPTION;

To grant the GRANT OPTION privilege at routine scope, replace the user specification ('USERNAME'@'HOSTNAME'), database name (DATABASE_NAME), and routine name (ROUTINE_NAME) in the following query to align to your requirements:

GRANT ALL PRIVILEGES
  ON DATABASE_NAME.ROUTINE_NAME
  TO 'USERNAME'@'HOSTNAME'
  WITH GRANT OPTION;

For general guidance on privileges, see "Privileges".

REVOKE

Replace the user specification ('USERNAME'@'HOSTNAME'), database name (DATABASE_NAME), and table name (TABLE_NAME) in alignment to your requirements.

To revoke the GRANT OPTION privilege at global scope, replace the user specification ('USERNAME'@'HOSTNAME') in the following query to align to your requirements:

REVOKE ALL PRIVILEGES, GRANT OPTION
  ON *.*
  FROM 'USERNAME'@'HOSTNAME';

To revoke the GRANT OPTION 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 ALL PRIVILEGES, GRANT OPTION
  ON DATABASE_NAME.*
  FROM 'USERNAME'@'HOSTNAME';

To revoke the GRANT OPTION privilege at table scope, replace the user specification ('USERNAME'@'HOSTNAME'), database name (DATABASE_NAME), and table name (TABLE_NAME) in the following query to align to your requirements

REVOKE ALL PRIVILEGES, GRANT OPTION
  ON DATABASE_NAME.TABLE_NAME
  FROM 'USERNAME'@'HOSTNAME';

To revoke the GRANT OPTION privilege at routine scope, replace the user specification ('USERNAME'@'HOSTNAME'), database name (DATABASE_NAME), and routine name (ROUTINE_NAME) in the following query to align to your requirements:

REVOKE ALL PRIVILEGES, GRANT OPTION
  ON DATABASE_NAME.ROUTINE_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 GRANT OPTION privilege is present, it will be shown as WITH GRANT OPTION in the output. For example:

SHOW GRANTS FOR 'app_user'@'192.0.2.%';
+-------------------------------------------------------------------------+
| Grants for app_user@192.0.2.%                                           |
+-------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'app_user'@'192.0.2.%' WITH GRANT OPTION |
+-------------------------------------------------------------------------+

Privilege Failure

An error message is raised if an operation fails due to insufficient privileges. For example:

GRANT ALL PRIVILEGES
  ON *.*
  TO 'USERNAME'@'HOSTNAME'
  WITH GRANT OPTION;
ERROR 1045 (HY000): [11281] Permission denied: User 'USERNAME'@'HOSTNAME' is missing GRANT OPTION on *.*; transaction aborted

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