MySQL InnoDB监控

innodb引擎在生产环境下大量使用。监控数据库状态是一项日常维护常规工作。通过监控,我们可以知晓数据库状态趋势,预防问题,未雨绸缪,有备无患。nagios&cacti mysql监控
1. 查看表状态

2. 查询INFORMATION_SCHEMA相关表
mysql服务器运行状态信息存储在INFORMATION_SCHEMA库中。与innodb相关的信息有:
1. INNODB_CMP 包含数据格式化压缩操作信息
2. INNODB_CMP_RESET 该表包含的信息与INNODB_CMP相同,不过,具有基于计数器功能的指标表,每次读操作都会截断数据。
3. INNODB_TRX 该表包含有关当前正在执行事务的详细信息。是对innodb事务进行监测的最有用的查询分析表。
4. INNODB_LOCK_WAITS 包含事务当前正在等待的锁信息,用来查看不同事务间锁定关系。

3. 全局变量

4. 全局状态

5. innodb统计分析
5.1 Innodb_buffer_pool_pages比率
Innodb_buffer_pool_pages_free/Innodb_buffer_pool_pages_total
5.2 innodb数据大小

5.3 innodb索引大小

5.4 innodb_buffer_pool_size最小大小
innodb_index_size + innodb_data_size
5.5 mysql内存使用情况
每线程buffer大小 = (read_buffer_size + read_rnd_buffer_size + sort_buffer_size + thread_stack + join_buffer_size + binlog_cache_size) * max_connections
每线程最大buffer大小 = (read_buffer_size + read_rnd_buffer_size + sort_buffer_size + thread_stack + join_buffer_size + binlog_cache_size) * Max_used_connections
全局buffer大小 = innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size + key_buffer_size + query_cache_size
最大内存分配 = global_buffers + per_thread_max_buffers
允许分配的总内存 = global_buffers + per_thread_buffers
mysql使用的系统RAM百分比 = (total_memory_allocation_allowed* 100) / os_mem_total

6. 统计innodb和myisam表的数据和索引大小以及百分比
innodb

如需转载请注明出处:http://www.ttlsa.com/html/2964.html