tabase privileges priv_type are granted using db_name.*
for priv_level, or using just * to use default database. Database
privileges include privileges to create tables and functions, as well as
privileges for all tables, functions, and procedures in the database. Database
privileges are stored in the mysql.db table.
* Table privileges priv_type are granted using db_name.tbl_name
for priv_level, or using just tbl_name to specify a table in the default
database. The TABLE keyword is optional. Table privileges include the
ability to select and change data in the table. Certain table privileges can
be granted for individual columns.
* Column privileges priv_type are granted by specifying a table for
priv_level and providing a column list after the privilege type. They allow
you to control exactly which columns in a table users can select and change.
* Function privileges priv_type are granted using FUNCTION db_name.routine_name
for priv_level, or using just  FUNCTION routine_name to specify a function
in the default database.
* Procedure privileges priv_type are granted using PROCEDURE
db_name.routine_name
for priv_level, or using just PROCEDURE routine_name to specify a procedure
in the default database.

The USAGE Privilege
-------------------

The USAGE privilege grants no real privileges. The SHOW GRANTS statement will
show a global USAGE privilege for a newly-created user. You can use USAGE with
the GRANT statement to change options like GRANT OPTION and
MAX_USER_CONNECTIONS without changing any account privileges.

The ALL PRIVILEGES Privilege
----------------------------

The ALL PRIVILEGES privilege grants all available privileges. Granting all
privileges only affects the given privilege level. For example, granting all
privileges on a table does not grant any privileges on the database or
globally.

Using ALL PRIVILEGES does not grant the special GRANT OPTION privilege.

You can use ALL instead of ALL PRIVILEGES.

The GRANT OPTION Privilege
--------------------------

Use the WITH GRANT OPTION clause to give users the ability to grant privileges
to other users at the given privilege level. Users with the GRANT OPTION
privilege can only grant privileges they have. They cannot grant privileges at
a higher privilege level than they have the GRANT OPTION privilege.

The GRANT OPTION privilege cannot be set for individual columns. If you use
WITH GRANT OPTION when specifying column privileges, the GRANT OPTION
privilege will be granted for the entire table.

Using the WITH GRANT OPTION clause is equivalent to listing GRANT OPTION as a
privilege.

Global Privileges
-----------------

The following table lists the privileges that can be granted globally. You can
also grant all database, table, and function privileges globally. When granted
globally, these privileges apply to all databases, tables, or functions,
including those created later.

To set a global privilege, use *.* for priv_level.

BINLOG ADMIN
------------

Enables administration of the binary log, including the PURGE BINARY LOGS
statement and setting the system variables:

* binlog_annotate_row_events
* binlog_cache_size
* binlog_commit_wait_count
* binlog_commit_wait_usec
* binlog_direct_non_transactional_updates
* binlog_expire_logs_seconds
* binlog_file_cache_size
* binlog_format
* binlog_row_image
* binlog_row_metadata
* binlog_stmt_cache_size
* expire_logs_days
* log_bin_compress
* log_bin_compress_min_len
* log_bin_trust_function_creators
* max_binlog_cache_size
* max_binlog_size
* max_binlog_stmt_cache_size
* sql_log_bin and
* sync_binlog.

Added in MariaDB 10.5.2.

BINLOG MONITOR
--------------

New name for REPLICATION CLIENT from MariaDB 10.5.2, (REPLICATION CLIENT still
supported as an alias for compatibility purposes). Permits running SHOW
commands related to the binary log, in particular the SHOW BINLOG STATUS and
SHOW BINARY LOGS statements. Unlike REPLICATION CLIENT prior to MariaDB 10.5,
SHOW REPLICA STATUS isn't included in this privilege, and REPLICA MONITOR is
required.

BINLOG REPLAY
-------------

Enables replaying the binary log witºõ