赞
踩
MySQL数据库安装完成后,会包含一些默认的系统表,这些表主要用于存储数据库系统的元数据、权限、用户信息等。这些系统表分布在不同的系统数据库中,主要包括以下几个:
user:存储用户账户和权限信息。
db:存储数据库的权限信息。
tables_priv:存储表的权限信息。
columns_priv:存储列的权限信息。
procs_priv:存储存储过程和函数的权限信息。
proxies_priv:存储代理用户的权限信息。
其他一些表用于存储插件、服务器状态等信息。
#查询所有用户
select user,host from mysql.user;
#创建新用户
CREATE USER 'your_username'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
#授予用户权限
GRANT SELECT, INSERT, UPDATE, DELETE ON your_database_name.your_table_name TO 'your_username'@'localhost';
FLUSH PRIVILEGES;
提供关于其他数据库的元数据,如表、列、数据类型等的访问。这不是真正的系统表存储位置,而是一个视图集合,用于展示数据库的内部信息。
# 查询所有数据库 SELECT SCHEMA_NAME AS DatabaseName, DEFAULT_COLLATION_NAME AS Collation FROM information_schema.SCHEMATA; #查询指定数据库的所有表 SELECT TABLE_NAME AS TableName, ENGINE AS StorageEngine, TABLE_ROWS AS RowCount FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'your_database_name'; #查询指定表的所有列 SELECT COLUMN_NAME AS ColumnName, DATA_TYPE AS DataType, CHARACTER_MAXIMUM_LENGTH AS MaxLength, IS_NULLABLE AS IsNullable FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name';
用于监控MySQL服务器性能的表。收集数据库运行时的性能指标。
#查询所有表的IO操作
SELECT OBJECT_SCHEMA AS DatabaseName,
OBJECT_NAME AS TableName,
COUNT_READ AS ReadCount,
COUNT_WRITE AS WriteCount
FROM performance_schema.table_io_waits_summary_by_table;
#查询所有线程的状态
SELECT OBJECT_SCHEMA AS DatabaseName,
OBJECT_NAME AS TableName,
COUNT_READ AS ReadCount,
COUNT_WRITE AS WriteCount
FROM performance_schema.table_io_waits_summary_by_table;
这是一个较新的数据库,提供了一系列视图,旨在简化performance_schema和information_schema中数据的访问,以便于进行性能分析和问题诊断。
这些系统数据库和表是MySQL运行所必需的,它们存储了数据库的配置、权限、性能监控等重要信息。通常不建议直接修改这些系统表,除非你非常清楚你的操作对数据库系统的影响。对于维护和管理工作,MySQL提供了相应的SQL命令和工具来安全地处理这些任务。
#查询数据库的大小 SELECT table_schema AS DatabaseName, table_name AS TableName, sys.format_bytes(data_length) AS DataSize, sys.format_bytes(index_length) AS IndexSize, sys.format_bytes(data_length + index_length) AS TotalSize FROM sys.tables; #查询慢查询日志 SELECT event_time AS EventTime, user_host AS UserHost, sql_text AS SqlText, timer_wait AS WaitTime FROM sys.statement_analysis WHERE schema_name = 'your_database_name' AND timer_wait > 0 ORDER BY timer_wait DESC;
以上就是本文全部内容,感谢阅读。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。