Mysql系统库作用

MySQL初始化完成后会创建出4个系统库,分别是information_schema、performance_schema、mysql、sys

  • mysql库 核心数据库
    用户、权限 user表、慢日志和通用日志转化成表形式、索引信息、表信息
    user表:用户全局权限表,记录了每个用户权限
    db表:库级别权限表
    tables_priv:表级权限
    columns_priv:列级别全新表
    procs_priv:存储过程与函数权限
    proxies_priv:代理用户的权限
    event:事件与任务调度表
    gtid:与GTID主从复制有关的表
    innodb_index_stats:innodb索引统计信息
    innodb_table_stats:innodb表统计信息

  • performance_schema库 性能表现
    据库服务器性能数据。哪个SQL执行次数最多、耗时最长、哪个SQL被锁等有用的信息

  • sys库 performance_schema的简化,大量视图
    performance_schema中的信息较为复杂,官方将performance_schema做了简化形成了一个sys库。sys库的所有数据都是来自performancce_schema,这些视图简化了对performancce_schema的查询,便于更快速了解数据库运行情况。

  • information_schema库 元数据信息,MySQL的数据字典
    这个库也被称为MySQL的数据字典,存放了所有的元数据信息,比如所有的数据库、表、索引,会话信息。通过这个库可以进行一些数据资产统计,比如有多少个库、多少表、占用了多大的硬盘空间等。information_schema库没有将数据持久化到硬盘中,所以并不会生成这个库的数据目录,也不能进行DML操作对数据进行修改。
    TABLES表:保存了所有表的数据字典信息,比如表名、表引擎、表大小、表行数等等有用信息
    PROCESSLIST表:记录了会话详细信息,执行show processlist命令其实就是在查询该表
    INNODB_TRX表:记录了所有事务,包括事务是否被锁
    INNODB_LOCK_WAITS:记录了事务正在等待的锁的信息

1、统计MySQL实例下每个库中所有表的表名以及个数

SELECT table_schema,COUNT(table_name),GROUP_CONCAT(table_name) FROM `information_schema`.`tables` GROUP BY table_schema;

2、统计MySQL实例下每个库占用空间总大小,并以MB为单位显示

SELECT table_schema,SUM(AVG_ROW_LENGTH*TABLE_ROWS+INDEX_LENGTH)/1024/1024 FROM `information_schema`.`TABLES` GROUP BY table_schema;

3、查找出MySQL实例下非InnoDB的表

SELECT table_schema,table_name FROM information_schema.tables WHERE ENGINE !='InnoDB' AND table_schema NOT IN ('sys','performance_schema','information_schema','mysql');

4、统计出MySQL实例下所有用户

SELECT CONCAT(USER,'@',HOST) FROM mysql.user;

5、查询当前MySQL中会话信息,相比使用show processlist命令直接查看,用SQL的形式能灵活的进行过滤

select * from information_schema.processlist where time > 50;
select * from information_schema.processlist where info like 'my query%';

6、批量杀死某个用户的进程

select concat('KILL ',id,';') from information_schema.processlist where user='your_user_name';

7、查看当前正在运行的SQL

SELECT conn_id,USER,current_statement,last_statement FROM sys.session

8、统计有全表扫描的SQL

SELECT * FROM sys.statements_with_full_table_scans LIMIT 10

http://www.linuxe.cn/post-558.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值