diff --git a/docs/misc-info-schema-tables.md b/docs/misc-info-schema-tables.md index a96c041f703..96acaad0150 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 page lists the `INFORMATION_SCHEMA` tables added to standard *MySQL* by *Percona Server for MySQL* that don't exist elsewhere in the documentation. ## Temporary tables @@ -10,42 +10,82 @@ This page lists the `INFORMATION_SCHEMA` tables added to standard *MySQL* by *Pe Only the temporary tables that were explicitly created with CREATE TEMPORARY TABLE or ALTER TABLE are shown, and not the ones created to process complex queries. +These tables were added in Percona Server for MySQL 8.0.12-1. + ### `INFORMATION_SCHEMA.GLOBAL_TEMPORARY_TABLES` -| Column Name | Description | -|------------------|-------------------------------------------------------------| -| ‘SESSION_ID’ | ‘MySQL connection id’ | -| ‘TABLE_SCHEMA’ | ‘Schema in which the temporary table is created’ | -| ‘TABLE_NAME’ | ‘Name of the temporary table’ | -| ‘ENGINE’ | ‘Engine of the temporary table’ | -| ‘NAME’ | ‘Internal name of the temporary table’ | -| ‘TABLE_ROWS’ | ‘Number of rows of the temporary table’ | -| ‘AVG_ROW_LENGTH’ | ‘Average row length of the temporary table’ | -| ‘DATA_LENGTH’ | ‘Size of the data (Bytes)’ | -| ‘INDEX_LENGTH’ | ‘Size of the indexes (Bytes)’ | -| ‘CREATE_TIME’ | ‘Date and time of creation of the temporary table’ | -| ‘UPDATE_TIME’ | ‘Date and time of the latest update of the temporary table’ | +The GLOBAL_TEMPORARY_TABLES table has these columns: + +* `SESSION_ID` + MySQL connection id. + +* `TABLE_SCHEMA` + Schema in which the temporary table is created. + +* `TABLE_NAME` + Name of the temporary table. + +* `ENGINE` + Engine of the temporary table. + +* `NAME` + Internal name of the temporary table. + +* `TABLE_ROWS` + Number of rows of the temporary table. + +* `AVG_ROW_LENGTH` + Average row length of the temporary table. + +* `DATA_LENGTH` + Size of the data (Bytes). + +* `INDEX_LENGTH` + Size of the indexes (Bytes). + +* `CREATE_TIME` + Date and time of creation of the temporary table. -The feature was ported from *Percona Server for MySQL* 5.7 in 8.0.12-1. +* `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. You don't need the `SUPER` privilege to query this table. ### `INFORMATION_SCHEMA.TEMPORARY_TABLES` -| Column Name | Description | -|------------------|-------------------------------------------------------------| -| ‘SESSION_ID’ | ‘MySQL connection id’ | -| ‘TABLE_SCHEMA’ | ‘Schema in which the temporary table is created’ | -| ‘TABLE_NAME’ | ‘Name of the temporary table’ | -| ‘ENGINE’ | ‘Engine of the temporary table’ | -| ‘NAME’ | ‘Internal name of the temporary table’ | -| ‘TABLE_ROWS’ | ‘Number of rows of the temporary table’ | -| ‘AVG_ROW_LENGTH’ | ‘Average row length of the temporary table’ | -| ‘DATA_LENGTH’ | ‘Size of the data (Bytes)’ | -| ‘INDEX_LENGTH’ | ‘Size of the indexes (Bytes)’ | -| ‘CREATE_TIME’ | ‘Date and time of creation of the temporary table’ | -| ‘UPDATE_TIME’ | ‘Date and time of the latest update of the temporary table’ | - -The feature was ported from *Percona Server for MySQL* 5.7 in 8.0.12-1. +The TEMPORARY_TABLES table has these columns: + +* `SESSION_ID` + MySQL connection id. + +* `TABLE_SCHEMA` + Schema in which the temporary table is created. + +* `TABLE_NAME` + Name of the temporary table. + +* `ENGINE` + Engine of the temporary table. + +* `NAME` + Internal name of the temporary table. + +* `TABLE_ROWS` + Number of rows of the temporary table. + +* `AVG_ROW_LENGTH` + Average row length of the temporary table. + +* `DATA_LENGTH` + Size of the data (Bytes). + +* `INDEX_LENGTH` + Size of the indexes (Bytes). + +* `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 existing for the running connection. diff --git a/docs/misc-performance-schema-tables.md b/docs/misc-performance-schema-tables.md new file mode 100644 index 00000000000..38d22c2f47e --- /dev/null +++ b/docs/misc-performance-schema-tables.md @@ -0,0 +1,26 @@ +# Additional PERFORMANCE_SCHEMA tables + +This page lists the `performance_schema` tables added to standard *MySQL* by *Percona Server for MySQL* that don't exist elsewhere in the documentation. + +## Account failed login lock status + +### `performance_schema.account_failed_login_lock_status` + +The `performance_schema.account_failed_login_lock_status` table is implemented in Percona Server for MySQL 8.0.44-35. This table exposes information about temporary account locking from the MySQL internal Access Control List (ACL) cache. + +This table is read-only. Users require global, per-database, or per-table `SELECT` privilege on this table to access its contents. + +!!! note + + If an account is locked using the `CREATE USER` or `ALTER USER` statements with the `ACCOUNT LOCK` clause, this status is not captured in this table. The server records the `ACCOUNT LOCK` state in the `mysql.user` table. + +| Column Name | Data Type | Description | +|--------------------------|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------| +| `USER` | `CHAR(..)` | Identifies the user account described by the table row | +| `HOST` | `CHAR(..)` | Identifies the user account described by the table row | +| `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 or ALTER 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 or ALTER USER statement) | +| `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 | diff --git a/mkdocs-base.yml b/mkdocs-base.yml index 228284b7091..f552d524133 100644 --- a/mkdocs-base.yml +++ b/mkdocs-base.yml @@ -372,6 +372,8 @@ nav: - audit-log-plugin.md - jemalloc-profiling.md - misc-info-schema-tables.md + - misc-performance-schema-tables.md + - process-list.md - Slow query log: - improved-slow-query-log.md