diff --git a/docs/additional-performance-schema-tables.md b/docs/additional-performance-schema-tables.md new file mode 100644 index 00000000000..33d07f69464 --- /dev/null +++ b/docs/additional-performance-schema-tables.md @@ -0,0 +1,24 @@ +# Additional PERFORMANCE_SCHEMA tables + +This document lists the additional `PERFORMANCE_SCHEMA` tables provided by Percona Server for MySQL that are not documented elsewhere. + +### `performance_schema.account_failed_login_lock_status` + +The `performance_schema.account_failed_login_lock_status` table is available in Percona Server for MySQL 8.4.7-7 and later. The table exposes information about temporary account locking from the MySQL internal Access Control List (ACL) cache. + +This table is read-only. Users need `SELECT` privilege on the `performance_schema` database or on this specific table to access its contents. + +!!! note + + If an account is locked using the `CREATE USER` or `ALTER USER` statements with the `ACCOUNT LOCK` clause, the `ACCOUNT LOCK` status is not captured in the `account_failed_login_lock_status` table. The server records the `ACCOUNT LOCK` state in the `mysql.user` table. + +| Column Name | Data Type | Description | +|--------------------------|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------| +| `USER` | `CHAR(..)` | The MySQL user name | +| `HOST` | `CHAR(..)` | The MySQL host name | +| `IS_TRACKING_ACTIVE` | `enum('YES','NO')` | Indicates whether failed login tracking is enabled for the account | +| `MAX_ATTEMPTS` | `INTEGER` | Maximum number of failed login attempts allowed before account is locked (corresponds to FAILED_LOGIN_ATTEMPTS clause value in CREATE USER statement) | +| `PASSWORD_LOCK_DAYS` | `INTEGER` | Number of days for which account will be temporarily locked after exceeding the MAX_ATTEMPTS limit. Set to -1 if account is locked forever (corresponds to PASSWORD_LOCK_TIME clause value in CREATE USER) | +| `IS_LOCKED` | `BOOLEAN` | Indicates if account is temporarily locked by failed login lock tracking. NULL if tracking is not enabled for account | +| `REMAINING_ATTEMPTS` | `INTEGER` | Number of failed login attempts remaining before account will be locked. NULL if tracking is not enabled for account | +| `REMAINING_DAYS_LOCKED` | `INTEGER` | Number of days for which account is locked due to failed login lock tracking. -1 means that account is locked "forever" (until server restart/FLUSH PRIVILEGES or specific account unlock). NULL if tracking is not enabled for account | \ No newline at end of file diff --git a/docs/misc-info-schema-tables.md b/docs/misc-info-schema-tables.md index ddbd90ca75f..510b1e7352a 100644 --- a/docs/misc-info-schema-tables.md +++ b/docs/misc-info-schema-tables.md @@ -1,6 +1,6 @@ -# Misc. INFORMATION_SCHEMA tables +# Additional INFORMATION_SCHEMA tables -This page lists the `INFORMATION_SCHEMA` tables added to standard *MySQL* by *Percona Server for MySQL* that don’t exist elsewhere in the documentation. +This document lists the additional `INFORMATION_SCHEMA` tables provided by Percona Server for MySQL that are not documented elsewhere in this documentation. ## Temporary tables @@ -26,7 +26,7 @@ Only the temporary tables that were explicitly created with CREATE TEMPORARY TAB | ‘CREATE_TIME’ | ‘Date and time of creation of the temporary table’ | | ‘UPDATE_TIME’ | ‘Date and time of the latest update of the temporary table’ | -This table holds information on the temporary tables that exist for all connections. You don’t need the `SUPER` privilege to query this table. +This table holds information on the temporary tables that exist for all connections. No special privileges are required to query this table. ### `INFORMATION_SCHEMA.TEMPORARY_TABLES` diff --git a/mkdocs-base.yml b/mkdocs-base.yml index 21fb01b2910..401b271c835 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -389,6 +389,7 @@ nav: - slow-extended.md - process-list.md - misc-info-schema-tables.md + - additional-performance-schema-tables.md - Troubleshoot: - advisors.md - log-connection-error.md