电脑系统 | win 10 |
数据库版本 | mysql 8.0 官方文档 |
navicat | 11.1.13 |
常用:
1、查看数据库版本
show variables like 'version';
2、 查看profiling
参考:
show variables like '%profil%';
查看profile 是否打开,没有打开可以使用
set profiling=1
3、 查看线程信息
show PROCESSLIST;
Id | Id 标识, 线程被锁的时候可以用 KILL ID |
User | 线程关联的账号 |
Host | 从哪个网址发出的 |
db | 哪个数据库,null 表示没有选择 |
Command | 线程正在做什么,如果一个线程停留在给定状态很多秒,则可能存在需要调查的问题。 |
Time | 表示线程处于当前状态的时间( 秒) |
State | 显示当前sql语句的状态,官网详细信息 |
info | 显示sql 语句 |
4、 查看服务器状态信息
参考 :
语法:
SHOW [GLOBAL | SESSION] STATUS [LIKE 'pattern' | WHERE expr]
例句:
SHOW STATUS;
- global: 全局状态信息;
- session:当前连接的状态信息;默认是session;
Com_xxx 表示每个xxx 语句执行的次数,我们通常比较关心的是以下几个统计参数。
Com_select:执行select 操作的次数,一次查询只累加1。
Com_insert:执行INSERT 操作的次数,对于批量插入的INSERT 操作,只累加一次。
Com_update:执行UPDATE 操作的次数。
Com_delete:执行DELETE 操作的次数。
上面这些参数对于所有存储引擎的表操作都会进行累计。下面这几个参数只是针对InnoDB 存储引擎的,累加的算法也略有不同。
Innodb_rows_read:select 查询返回的行数。
Innodb_rows_inserted:执行INSERT 操作插入的行数。
Innodb_rows_updated:执行UPDATE 操作更新的行数。
Innodb_rows_deleted:执行DELETE 操作删除的行数。
通过以上几个参数,可以很容易地了解当前数据库的应用是以插入更新为主还是以查询操作为主,以及各种类型的SQL 大致的执行比例是多少。对于更新操作的计数,是对执行次数的计数,不论提交还是回滚都会进行累加。
对于事务型的应用,通过Com_commit 和Com_rollback 可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。
此外,以下几个参数便于用户了解数据库的基本情况。
Connections:试图连接MySQL 服务器的次数。
Uptime:服务器工作时间(秒)。
Slow_queries:慢查询的次数。