数据库巡检的内容通常涵盖主机硬件、操作系统和MySQL巡检项。其中,主机/os巡检主要包括:主机的硬件配置、CPU/内存/磁盘使用率以及磁盘的I/O使用情况;MySQL巡检项包括:数据库配置、用户权限、大表数据量、业务表主键和自增长情况、数据库的并发性、当前和历史连接情况统计、备份执行情况以及日志记录和慢SQL的分析优化等。
1、查看MySQL服务器配置信息及运行状况
通过show variables来查看mysql服务器配置信息,例如show variables like '%slow%';用于查看慢查询,show variables like 'max_connections';;用于查看最大连接数。
通过ps -ef | grep mysql查看mysql进程运行状况。
2、通过show status统计各种SQL的执行频率
通过show status可以查看服务器状态信息。show status可以根据需要显示session 级别的统计结果和global级别的统计结果。
1)以下几个参数对Myisam和Innodb存储引擎都计数:
Com_select 执行select 操作的次数,一次查询只累加1;
Com_insert 执行insert 操作的次数,对于批量插入的insert 操作,只累加一次;
Com_update 执行update 操作的次数;
Com_delete 执行delete 操作的次数。
2)以下几个参数是针对Innodb存储引擎计数的,累加的算法也略有不同:
Innodb_rows_read 执行select 查询返回的行数;
Innodb_rows_inserted 执行insert 操作插入的行数;
Innodb_rows_updated 执行update 操作更新的行数;
Innodb_rows_deleted 执行delete 操作删除的行数。
通过以上几个参数,可以很容易的了解当前数据库的应用是以插入更新为主还是以查询操作为主,以及各种类型的SQL大致的执行比例是多少。对于更新操作的计数,是对执行次数的计数,不论提交还是回滚都会累加。
对于事务型的应用,通过Com_commit和Com_rollback可以了解事务提交和回滚的情况,对于回滚操作非常频繁的数据库,可能意味着应用编写存在问题。
3)以下几个参数便于我们了解数据库的基本情况:
Connections 试图连接Mysql 服务器的次数;
Uptime 服务