Skip to content

Commit d8b3091

Browse files
committed
ps-10186-8.0 - [DOCS] - Document performance_schema.account_failed_login_lock_status table
1 parent 241e3bf commit d8b3091

File tree

3 files changed

+100
-32
lines changed

3 files changed

+100
-32
lines changed

docs/misc-info-schema-tables.md

Lines changed: 72 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Misc. INFORMATION_SCHEMA tables
1+
# Additional INFORMATION_SCHEMA tables
22

3-
This page lists the `INFORMATION_SCHEMA` tables added to standard *MySQL* by *Percona Server for MySQL* that dont exist elsewhere in the documentation.
3+
This page lists the `INFORMATION_SCHEMA` tables added to standard *MySQL* by *Percona Server for MySQL* that don't exist elsewhere in the documentation.
44

55
## Temporary tables
66

@@ -10,42 +10,82 @@ This page lists the `INFORMATION_SCHEMA` tables added to standard *MySQL* by *Pe
1010

1111
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.
1212

13+
These tables were added in Percona Server for MySQL 8.0.12-1.
14+
1315
### `INFORMATION_SCHEMA.GLOBAL_TEMPORARY_TABLES`
1416

15-
| Column Name | Description |
16-
|------------------|-------------------------------------------------------------|
17-
| ‘SESSION_ID’ | ‘MySQL connection id’ |
18-
| ‘TABLE_SCHEMA’ | ‘Schema in which the temporary table is created’ |
19-
| ‘TABLE_NAME’ | ‘Name of the temporary table’ |
20-
| ‘ENGINE’ | ‘Engine of the temporary table’ |
21-
| ‘NAME’ | ‘Internal name of the temporary table’ |
22-
| ‘TABLE_ROWS’ | ‘Number of rows of the temporary table’ |
23-
| ‘AVG_ROW_LENGTH’ | ‘Average row length of the temporary table’ |
24-
| ‘DATA_LENGTH’ | ‘Size of the data (Bytes)’ |
25-
| ‘INDEX_LENGTH’ | ‘Size of the indexes (Bytes)’ |
26-
| ‘CREATE_TIME’ | ‘Date and time of creation of the temporary table’ |
27-
| ‘UPDATE_TIME’ | ‘Date and time of the latest update of the temporary table’ |
17+
The GLOBAL_TEMPORARY_TABLES table has these columns:
18+
19+
* `SESSION_ID`
20+
MySQL connection id.
21+
22+
* `TABLE_SCHEMA`
23+
Schema in which the temporary table is created.
24+
25+
* `TABLE_NAME`
26+
Name of the temporary table.
27+
28+
* `ENGINE`
29+
Engine of the temporary table.
30+
31+
* `NAME`
32+
Internal name of the temporary table.
33+
34+
* `TABLE_ROWS`
35+
Number of rows of the temporary table.
36+
37+
* `AVG_ROW_LENGTH`
38+
Average row length of the temporary table.
39+
40+
* `DATA_LENGTH`
41+
Size of the data (Bytes).
42+
43+
* `INDEX_LENGTH`
44+
Size of the indexes (Bytes).
45+
46+
* `CREATE_TIME`
47+
Date and time of creation of the temporary table.
2848

29-
The feature was ported from *Percona Server for MySQL* 5.7 in 8.0.12-1.
49+
* `UPDATE_TIME`
50+
Date and time of the latest update of the temporary table.
3051

31-
This table holds information on the temporary tables that exist for all connections. You dont need the `SUPER` privilege to query this table.
52+
This table holds information on the temporary tables that exist for all connections. You don't need the `SUPER` privilege to query this table.
3253

3354
### `INFORMATION_SCHEMA.TEMPORARY_TABLES`
3455

35-
| Column Name | Description |
36-
|------------------|-------------------------------------------------------------|
37-
| ‘SESSION_ID’ | ‘MySQL connection id’ |
38-
| ‘TABLE_SCHEMA’ | ‘Schema in which the temporary table is created’ |
39-
| ‘TABLE_NAME’ | ‘Name of the temporary table’ |
40-
| ‘ENGINE’ | ‘Engine of the temporary table’ |
41-
| ‘NAME’ | ‘Internal name of the temporary table’ |
42-
| ‘TABLE_ROWS’ | ‘Number of rows of the temporary table’ |
43-
| ‘AVG_ROW_LENGTH’ | ‘Average row length of the temporary table’ |
44-
| ‘DATA_LENGTH’ | ‘Size of the data (Bytes)’ |
45-
| ‘INDEX_LENGTH’ | ‘Size of the indexes (Bytes)’ |
46-
| ‘CREATE_TIME’ | ‘Date and time of creation of the temporary table’ |
47-
| ‘UPDATE_TIME’ | ‘Date and time of the latest update of the temporary table’ |
48-
49-
The feature was ported from *Percona Server for MySQL* 5.7 in 8.0.12-1.
56+
The TEMPORARY_TABLES table has these columns:
57+
58+
* `SESSION_ID`
59+
MySQL connection id.
60+
61+
* `TABLE_SCHEMA`
62+
Schema in which the temporary table is created.
63+
64+
* `TABLE_NAME`
65+
Name of the temporary table.
66+
67+
* `ENGINE`
68+
Engine of the temporary table.
69+
70+
* `NAME`
71+
Internal name of the temporary table.
72+
73+
* `TABLE_ROWS`
74+
Number of rows of the temporary table.
75+
76+
* `AVG_ROW_LENGTH`
77+
Average row length of the temporary table.
78+
79+
* `DATA_LENGTH`
80+
Size of the data (Bytes).
81+
82+
* `INDEX_LENGTH`
83+
Size of the indexes (Bytes).
84+
85+
* `CREATE_TIME`
86+
Date and time of creation of the temporary table.
87+
88+
* `UPDATE_TIME`
89+
Date and time of the latest update of the temporary table.
5090

5191
This table holds information on the temporary tables existing for the running connection.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Additional PERFORMANCE_SCHEMA tables
2+
3+
This page lists the `performance_schema` tables added to standard *MySQL* by *Percona Server for MySQL* that don't exist elsewhere in the documentation.
4+
5+
## Account failed login lock status
6+
7+
### `performance_schema.account_failed_login_lock_status`
8+
9+
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.
10+
11+
This table is read-only. Users require global, per-database, or per-table `SELECT` privilege on this table to access its contents.
12+
13+
!!! note
14+
15+
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.
16+
17+
| Column Name | Data Type | Description |
18+
|--------------------------|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
19+
| `USER` | `CHAR(..)` | Identifies the user account described by the table row |
20+
| `HOST` | `CHAR(..)` | Identifies the user account described by the table row |
21+
| `IS_TRACKING_ACTIVE` | `enum('YES','NO')` | Indicates whether failed login tracking is enabled for the account |
22+
| `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) |
23+
| `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) |
24+
| `IS_LOCKED` | `BOOLEAN` | Indicates if account is temporarily locked by failed login lock tracking. NULL if tracking is not enabled for account |
25+
| `REMAINING_ATTEMPTS` | `INTEGER` | Number of failed login attempts remaining before account will be locked. NULL if tracking is not enabled for account |
26+
| `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 |

mkdocs-base.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,8 @@ nav:
372372
- audit-log-plugin.md
373373
- jemalloc-profiling.md
374374
- misc-info-schema-tables.md
375+
- misc-performance-schema-tables.md
376+
375377
- process-list.md
376378
- Slow query log:
377379
- improved-slow-query-log.md

0 commit comments

Comments
 (0)