MySQL is a relational database management system and one of the most popular open source databases in the world. However, in MySQL, the table named "mysql" does not actually exist. This article will introduce the system database and system tables in MySQL and their functions.
1. System database
The system database in MySQL includes:
The above system databases are visible in MySQL, and you can query them through the command SHOW DATABASES.
2. System tables
In the MySQL system database, there are many system tables. The following are some of the system tables and their functions:
mysql.user: stores MySQL user accounts and security access levels information. It includes the user's name, host address, password, etc. It is an important table in terms of authorization management.
mysql.db: Includes the user’s database permissions. It lists the users allowed to access the database and tables. (Including specific host addresses)
mysql.host: It stores the host name and its corresponding rule for returning the client IP address
mysql.roles and mysql.role_edges: is mysql8.0 Introduced in
information_schema.tables: stores detailed information of all tables. Include database name, table name, type of table (such as table, view, or system table), table engine, table creation time, and more.
information_schema.columns: Lists detailed information about each column of the table, such as column name, data type, whether NULL is allowed, the default value of the column, etc.
information_schema.indexes: Display index information. Including index name, information about whether the index is unique, included columns, index type, etc.
mysql.proc: Contains information about stored procedures and functions, such as procedure name, parameters, code, etc.
mysql.event: Contains scheduled events (i.e. regular jobs), such as event name, start time, cycle time, etc.
Views, functions, and more in sys schema: Transform views of MySQL metadata into easy-to-use queries. For example, there is a "schema_table_statistics" view in the sys library, which includes statistics for various tables and indexes.
From the above system tables, we clearly understand that MySQL system information mainly includes user and permissions, database and table related information.
In summary, although there is no table named "mysql" in MySQL, there are many system databases and tables in MySQL that store information related to the MySQL server and database metadata. Understanding these system databases and tables can help you understand MySQL better.
The above is the detailed content of mysql has no mysql table. For more information, please follow other related articles on the PHP Chinese website!