《数据库运行维护操作指南.docx》由会员分享,可在线阅读,更多相关《数据库运行维护操作指南.docx(5页珍藏版)》请在优知文库上搜索。
1、数据库运行维护操作指南1 .操作系统巡检可以使用监控类型的工具。1.1 CPll监控命令sar-U103(每十秒打印一次总共打印三次)参数%user:用户模式下消耗的CPU时间的比例;%nice:通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例;%system:系统模式下消耗的CPU时间的比例;%iowait:CPU等待磁盘I/O而导致空闲状态消耗时间的比例;%steal:利用Xen等操作系统虚拟化技术时,等待其他虚拟CPU计算占用的时间比例;%idle:CPU没有等待磁盘I/O等的空闲状态消耗的时间比例;1.2 内存监控命令sar-r参数kbmemfree:空闲物理
2、内存量;kbmemused:使用中的物理内存量;%memused:物理内存量使用率;kbbuffers:内核中作为缓冲区使用的物理内存容量;kbcacheed:内核中作为缓存使用的物理内存容量;kbswpfree:交换区的空闲容量;kbswpused:使用中的交换区容量;1.3 I/O监控命令sar-b103参数tps:每秒钟物理设备的I/O传输总量rtps:每秒钟从物理设备读入的数据总量wtps:每秒钟向物理设备写入的数据总量bread/s:每秒钟从物理设备读入的数据量,单位为块/sbwrtn/s:每秒钟向物理设备写入的数据量,单位为块/s1.4 系统SWAP监控命令sar-W103参数2
3、.MySQL本身巡检2.1 重点参数innodb_buffer_pool_size,sync-biniogzz,binlog-format,innodb_f1ush_1og_at_trx_commit,read-only,:,1og_s1ave_updates,innodb_io_capacity,query-cache-type,query_cache_size,max-connections,max-connect-errors,server-id,2.2 MySQL的状态showglobalstatus;tps(每秒事物处理数)TransactionsPerSecond(每秒传输的事物处
4、理个数)TPS=(COM_COMMIT+COM_ROLLBACK)/UPTIMEshowglobalstatuslike,Com-commit,;showglobalstatuslikeComjollback;# #uptime单位为秒showglobalstatuslike,uptime,;qps(每秒查询数)每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准QPS=QUESTIONSUPTIMEshowglobalstatuslike,Questions,;showglobalstatuslike,uptime,;检查InySqI查询缓慢语句showvariabl
5、eslike,%slow%,;showglobalstatuslike,%slow%,;# #看是否有打开缓慢SqI日志,如果有,则检查该日志中的sql,大于5秒的要特别关注。如果没有,则建议打开这个功能检查mysql错误日志# #mysql错误日志在安装目录下,命名格式为$hoStname.err# #检查是否存在关键字为err的报错,根据实际报错情况进行处理。wait事件Innodb_buffer_pool_wait_freeInnodb_log_waitsMySQL软监隹showglobalstatuslikexxx;showglobalstatusliketableOCkS%;# #如
6、果Table_lOCkS_waited等待时间过大(大于100O),则建议优化Sql和应用逻辑,减少物等待表锁Table_locks_waitedTable_locks_immediate行锁InnOdb_rowOCk_current_waits,当前等待锁的行锁数量Innodb_row_lock_time,请求行锁总耗时InnOdbOCk_time_avg,请求行锁平均耗时Innodb_row_lock_time_max,请求行锁最久耗时InnOdb_rowOCk_waits,行锁发生次数连接数showglobalstatuslike,max-used-connections%;showva
7、riableslike,max-connections%,;# #建议最大连接数参数是石前连接数的2倍以上Mysql临时表检查showglobalstatuslike,created-tmp%;# #Created_tmp_tables/Created_tmp_disk_tables这个比值要10倍以上才正常MySQL数据库磁盘空间使用情况df-hmysql安装目录及锁等待临时表/临时文件Created_tmp_disk_tables/Created_tmp_files打开表/+件薮Open_files0pentabledefinitions/Open_tables并发还接数Threads_r
8、unning/Threads_created/Threads_cachedAborted_clients客户端笈有正确关闭连接导致客户端终止而中断的连接数Aborted_connects试图连腐到mysql服务器而失败的连接数binlogBinlog_cache_disk_use使用临时二进制日志缓冲但超过binlog_cache_size值并使用临时文件Binlog_cache_use使用临时二进而日志缓冲的事务数量Binlog_stmt_cache_disk_use当非事亦语团使用二进制后志缓存Binlog_stmt_cache_use使用二卷制仃志缓而非事务语句数量链接数Connecti
9、ons试图连接到(不管成不成功)mysql服务器的链接数临时表Created_tmp_disk_tables服务器就行语句时,在硬盘上自动创建的临时表的数量,是指在排序时,内存不够用(tmp_table_size小于需要排序的结果集),所以需要创建基于磁盘的临时表进行排序Created_tmp_files服务器成行语句时自动创建的内存中的临时表的数量索引Handler_commit内部交语句Handler_rolIback内部rollback语句数量Hand1er_read_first索引第一条记录被读的次数,如果高,则它表明服务器正执行大量全索引扫描Hand1er_read_key根据索引读
10、一行的请求数,如果较高,说明查询和表的索引正确Handler_read_last查询读索引最后一个索引键请求数HandIeJreacLneXt按照索引顺序读下一行的请求数Hand1er_read_prev按照索引顺序读前一行的请求数Handler_read_rnd根据固定位置读一行的请求数,如果值较高,说明可能使用了大量需要mysql扫整个表的查询或没有正确使用索引Hand1er_read_rnd_next在数据文件中读下一行的请求数,如果你正进行大量的表扫,隹值会衰高Open_tab1e_definitions被缓看的.frm文件数量Opened_tables已经打开的表的数量,如果较大,t
11、able_open_cache值可能太小Open_tables当前方开的表的数量Queries已经发送给服务器的查询个数Select_full_join没有使房索弓T的联接的数量,如果该值不为0,你应该仔细检查表的所有Select_scan对第一个表进行完全扫的联接的数量Slow_queries查询时间超过IOng_query_time秒的查询个数Sort_merge_passes排序算法己经执行的合并的数量,如果值较大,增加sort_buffer_size大小线程Threads_cached线程缓存内的线程数量Threads_connected当前打开的连接数量Threads_created创建用来处理连接的线程数Threads_running激活的(非睡眠状态)线程数2.3 MySQL主从检测首先要先配置主从关系(就是一个主机写入数据从机同步写入数据相当于备份)showslavestatusGSlave_I0Running和SIaVeSQLRunning两个属性出现都为YES说明没有问题2.4 MySQL备份检查按照预先设置所使用的备份方案进行检查备份,检查本地备份的完整性。