MySQL InnoDB监控

innodb引擎在生产环境下大量使用。监控数据库状态是一项日常维护常规工作。通过监控,我们可以知晓数据库状态趋势,预防问题,未雨绸缪,有备无患。nagios&cacti mysql监控 1. 查看表状态
mysql> show table status like "unitid"\G
           Name: unitid			表名
         Engine: InnoDB			表引擎
        Version: 10				表格式文件版本
     Row_format: Compact		表压缩格式Compact、Redundant、Dynamic、Compressed
           Rows: 2				表行数,近似于select count(*) from table
 Avg_row_length: 8192			平均行数	
    Data_length: 16384			数据文件长度
Max_data_length: 0				能够存储在数据文件的数据的最大长度
   Index_length: 0				索引文件长度
      Data_free: 0				可用的字节
 Auto_increment: NULL
    Create_time: 2013-08-28 11:25:19
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options: 
        Comment: 
1 row in set (0.00 sec)
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. 全局变量
SHOW GLOBAL VARIABLES LIKE 'innodb%';
4. 全局状态
SHOW GLOBAL STATUS LIKE 'innodb%';
5. innodb统计分析 5.1 Innodb_buffer_pool_pages比率 Innodb_buffer_pool_pages_free/Innodb_buffer_pool_pages_total 5.2 innodb数据大小
SELECT SUM(DATA_LENGTH) AS Value FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE='innodb';
5.3 innodb索引大小
SELECT SUM(INDEX_LENGTH) AS Value FROM INFORMATION_SCHEMA.TABLES WHERE ENGINE='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表的数据和索引大小以及百分比 MySQL InnoDB监控_第1张图片 如需转载请注明出处:http://www.ttlsa.com/html/2964.html

你可能感兴趣的:(mysql,InnoDB,监控)