免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

MySQL巡檢要怎么做,巡檢模版給你準備好了

:2024年10月07日 老蘇暢談運維
分享到:

MySQL日常巡檢主要包括監控數據庫運行狀況、備份容災、集群狀況、緊急故障頻率、改進建議等,可使用MySQL巡檢模版進行操作。

MySQL日常巡檢都要檢查哪些項,該怎么巡檢?來,給你一個MySQL巡檢模版。

1. 巡檢目的

? 監控數據庫的當前運行狀況,確保數據庫穩定運行。

? 監控數據庫的備份或容災或集群狀況,減少問題發生時的風險和責任。

? 盡可能減少緊急故障發生頻率。

? 盡早發現系統存在的潛在問題,使可能的故障消除在萌芽狀態。

? 提出相應的合理改進建議。

2. 基本信息

主機名IP地址系統版本硬件配置MySQL版本工作模式數據庫端口數據庫分配內存
 db1   xxx.xxx.xxx.xxx   CentOS Linux release 7.9.2009 (Core)   Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz,4核,16G內存   mysqld Ver 5.7.35-38-57   主從/主主/PXC/MGR   3306   innodb_buffer_pool_size 6G  
 db2   xxx.xxx.xxx.xxx   CentOS Linux release 7.9.2009 (Core)   Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz,4核,16G內存   mysqld Ver 5.7.35-38-57   主從/主主/PXC/MGR   3306   innodb_buffer_pool_size 6G  
 db3   xxx.xxx.xxx.xxx   CentOS Linux release 7.9.2009 (Core)   Intel(R) Xeon(R) Gold 6230R CPU @ 2.10GHz,4核,16G內存   mysqld Ver 5.7.35-38-57   主從/主主/PXC/MGR   3306   innodb_buffer_pool_size 6G  

3. 巡檢項目

3.1 硬件配置信息


檢查項檢查命令巡檢值
 主機名   hostname  
 服務器型號   dmidecode -t 1  
 cpu型號   cat /proc/cpinfo  
 物理內存   cat /proc/meminfo或free -m  
 ip 地址   ifconfig -a  
 操作系統   lsb_release -a 或 cat /proc/version  

3.2 系統資源檢查


檢查項檢查命令參考值檢查結果
 物理內存使用情況   vmstat 2 10   正常情況,不要用到swap  
 CPU使用情況   sar -u 2 10   越低越好,不超過80%  
 磁盤可使用空間   df -h   不超過80%  
 磁盤inode使用率   df -i   不超過80%  
 磁盤負載   iostat -dxm 1   util應在100%以內(或者瓶頸),%wa很高,可能存在IO瓶頸  
 系統內核參數設置   cat /etc/sysctl.conf  

3.3 數據庫巡檢


巡檢項巡檢命令參考值檢查結果
 mysql進程檢查   ps -ef|grep mysqld   進程應存在,進程port以及datadir  
 超大庫檢查   du -sh 每個數據庫目錄  

 數據庫版本   select version()  

 數據庫大小   SELECT table_schema "Database name", sum(  table_rows ) "No. of rows", sum( data_length ) / 1024 / 1024  "Size data (MB)", sum( index_length )/ 1024 / 1024 "Size index  (MB)" FROM information_schema.TABLES GROUP BY table_schema;  

 自增ID使用   SELECT table_schema, table_name, ENGINE, Auto_increment  FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ( "INFORMATION_SCHEMA", "PERFORMANCE_SCHEMA",  "MYSQL", "SYS") limit 30;  

 存儲引擎不是innodb的表   SELECT TABLE_SCHEMA, TABLE_NAME,ENGINE FROM  INFORMATION_SCHEMA.TABLES WHERE ENGINE != 'innodb' AND TABLE_SCHEMA NOT IN (  "INFORMATION_SCHEMA", "PERFORMANCE_SCHEMA",  "MYSQL", "SYS" );  

 無主鍵的表   SELECT t1.table_schema, t1.table_name, t1.table_type  FROM information_schema.TABLES t1 LEFT OUTER JOIN  information_schema.TABLE_CONSTRAINTS t2 ON t1.table_schema =  t2.TABLE_SCHEMA AND t1.table_name = t2.TABLE_NAME AND t2.CONSTRAINT_NAME IN ( 'PRIMARY' )  WHERE t2.table_name IS NULL AND  t1.TABLE_SCHEMA NOT IN ( 'information_schema', 'performance_schema', 'test',  'mysql', 'sys' ) AND t1.table_type =  "BASE TABLE";  

 運行線程狀態查詢   show full processlist;   查看當前并發 線程是否狀態正常。檢查state列是否存在wait for xxx    lock的狀態,如果有則存在鎖事務; 
 InnoDB死鎖檢查   show engine innodb status;   查看LATEST  DETECTED    DEADLOCK輸出段,若存在,則需要摘取相應的語句。 
 InnoDB長事務檢查   show engine innodb status;   檢查TRANSACTIONS輸出段,看是否存在ACTIVE時間  過長的事務,若存在,則需要關注  
 指定TCP/IP  連接的偵聽隊列的大小   show variables like 'back_log%';   back_log 參數的值指出在MySQL暫時停止響應新請求之前的短時間內多少個請求可以被存在堆棧中。如果系統在一個短時間內有很多連接,則需要增大該參數的值。不同的操作系統在這個隊列。默認值為50。對于Linux系統推薦設置為小于512的整數。 
 max_allowed_packet包的值   show variables like 'max_allowed_packet%';   客戶端和服務器均有自己的max_allowed_packet變量,如打算處理大的信息包,必須增加客戶端和服務器上的該變量。一般情況下,服務器默認max-allowed-packet為1MB  
 交互式連接超時時間   show variables like 'interactive_timeout%';   交互式連接超時時間(mysql工具、mysqldump等),  參數默認值:28800秒(8小時),建議調小  
 非交互式連接超時時間   show variables like 'wait_timeout%';   非交互式連接超時時間,默認的連接mysql api程序,  jdbc連接數據庫等,參數默認值:28800秒(8小時),建議調小  
 skip_name_resolve   show variables like 'skip_name_resolve%';   使用該參數后可加快內網地址的請求  
 最大連接數檢查   show global status like 'max_used_connections';  show global variables like 'max_connections';   若max_used_connections逼近max_connections,則需要調大max_connections。max_used_connections / max_connections * 100%   (理想值≈ 85%)  
 當前連接數檢查   show global status like 'Threads_connected'   應小于max_connections  
 異常連接檢查   show global status like  'aborted%';   檢查Aborted_clients以及Aborted_connects值是否正常  
 開啟binlog日志   show variables like 'log_bin%';   binlog日志開啟,能實時記錄保存DML操作  
 binlog保留天數   show variables like 'expire_logs_days%';   讓mysql自動清理若干天前的binlog  
 文件打開限制數   show variables like 'open_files_limit%';  

 線程池緩存大小   show variables like 'thread_cache_size%';  

 排序緩沖區大小   show variables like 'sort_buffer_size%';  

 內連接緩沖區大小   show variables like 'join_buffer_size%';  

 InnoDB存儲引擎緩存分配大小   show global variables like 'innodb_buffer_pool_size';   物理內存的 50% - 75%  

 show global variables like 'innodb_io_capacity';   sata/sas硬盤這個值在200  sas raid10: 2000  ssd硬盤:8000  fusion-io(閃存卡):25,000-50,000  
 表緩存檢查   show global status like    '%opened_tables%';   show variables like    '%table_open_cache%';   若opened_tables過大,則需要調大     table_open_cache值  
 查詢緩存檢查   show variables like    '%query_cache%'   一般情況下,需要禁用query_cache。 
 表緩存檢查   show global status like    '%opened_tables%';   show variables like    '%table_open_cache%';   若opened_tables過大,則需要調大     table_open_cache值  
 InnoDB獨立表空間   show variables like 'innodb_file_per_table%';  

 InnoDB打開文件數   show variables like 'innodb_open_files%';  

 InnoDB并發線程   show variables like 'innodb_thread_concurrency%';  

 InnoDB將緩存中的redo日志回寫到日志文件的設置   show variables like 'innodb_flush_log_at_trx_commit%';   建議設為1  

 show variables like 'sync_binlog%';   建議設為1  
 InnoDB日志緩沖大小   show variables like 'innodb_log_buffer_size%';  

 InnoDB日志文件大小   show variables like 'innodb_log_file_size%';  

 InnoDB日志文件組   show variables like 'innodb_log_files_in_group%';  

 QPS檢查   show status like 'queries';  間隔執行,通過兩次的間隔時間做差值,計算QPS  

 讀寫比檢查   show status like 'com_%'   讀請求是com_select;  寫請求是com_insert;  com_update;com_delete   通過統計讀寫的請求數,算出讀寫比例。 
 InnoDB Buffer Pool檢查   show status like    'Innodb_buffer_pool_read_requests';   show status like    'Innodb_buffer_pool_reads';   Innodb_buffer_pool_reads/   Innodb_buffer_pool_read_requests  為緩存未命中率,  若此值過高,則需要調大innodb_buffer_pool_size  
 臨時表檢查   show global status like '%tmp%';   如果Created_tmp_tables,   Created_tmp_disk_tables或者   Created_tmp_files較高,  則需要排查慢查詢(子查詢、排序、分組等)  








 存儲引擎 binlog 磁盤使用比例   Binlog_cache_disk_use / Binlog_cache_use     show global status like  'Binlog_cache_disk_use';  show global status like  'Binlog_cache_use';   越低越好  
 存儲引擎磁盤臨時表創建數   show global status like 'Created_tmp_disk_tables';   越低越好  
 存儲引擎全表掃描比例   (Handler_read_rnd_next + Handler_read_rnd) /  (Handler_read_rnd_next + Handler_read_rnd + Handler_read_first +  Handler_read_next + Handler_read_key + Handler_read_prev)   越低越好  
 存儲引擎索引使用率   (Handler_read_first + Handler_read_key +  Handler_read_next + Handler_read_prev     show global status like  'Handler_read_first';  show global status like  'Handler_read_key';  show global status like  'Handler_read_next';  show global status like  'Handler_read_prev';   99% 以上  
 存儲引擎空余內存大小   show global status like 'Innodb_buffer_pool_pages_free';   引擎緩存的 80% - 90%  
 存儲引擎重做日志等待   show global status like 'Innodb_log_waits';  show global status like 'Innodb_log_writes';  Innodb_log_waits / Innodb_log_writes   幾乎為0  
 存儲引擎表鎖等待比例   Table_locks_waited / (Table_locks_waited + Table_locks_immediate)  show global status like  'Table_locks_waited';  show global status like  'Table_locks_immediate';   幾乎為0  
 存儲引擎線程緩存   show global status like 'threads_created';   1000以下, threads_created/connections為緩存未命中率,  若此值過高,則需要調大thread_cache_size  
 并發線程查詢   show global status like 'threads_running%';   應小于10,過大,說明并發數太多,存在慢語句  
 備份檢查   cat /backup/hostname | cut -d . -f 1/backup/date +%F -d "a day ago"/xtrabackup_time.txt     grep completed  /backup/$dir_name/backup/$dtime/xtrabackup_log*   檢查備份成功與否,耗時多久  
 PXC同步狀態檢查   show global status   where variable_name in  ('wsrep_cluster_status','wsrep_local_state','wsrep_local_state_comment','wsrep_connected','wsrep_ready','wsrep_cluster_size','wsrep_desync_count','wsrep_incoming_addresses');   wsrep_local_state_comment為Synced狀態  wsrep_cluster_status為Primary  wsrep_connected為ON  wsrep_ready為ON  
 主從復制狀態檢查   show slave status;   查看線程是否正常,延遲是否存在  
 最近7天的error log   grep -i -E 'error' ${errorlog} | grep -E  '${errortime}'   查看error日志是否有報錯  
 慢查詢日志開啟   show variables like '%slow%';   檢查慢查詢日志是否開啟,若開啟,檢查慢日志文件中的語句。   
 慢查詢查詢時間   show variables like 'long_query_time%';   慢查詢查詢時間超多久會寫日志  

4. 總結及建議

總結:

    對服務器性能的現狀進行描述

    若有隱患可指出

建議:

     針對隱患,指出可能的解決辦法

關注我,后臺回復關鍵詞“MySQL巡檢”,可下載該MySQL巡檢模版。

原文來源:https://mp.weixin.qq.com/s/Z33O-B_7qLd_Kgur_WW1xg

[我要糾錯]
[編輯:宋聰喬 &發表于江蘇]
關鍵詞: MySQL 日常 巡檢 都要 檢查

來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:MySQL巡檢要怎么做,巡檢模版給你準備好了

Copyright©2013-2025 ?JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利

蘇公網安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統計

主站蜘蛛池模板: 欧美a级片在线观看 | 青青草原手机在线视频 | 日本一二三区在线视频 | 成年人网址在线观看 | 性视频网| 九九精品视频一区二区三区 | 日韩在线观看一区二区不卡视频 | 波多野结衣xxxx性精品 | 精品国产一区二区 | 国产成人毛片毛片久久网 | 亚洲成人免费网站 | 免费看日批 | 一级毛片牲交大片 | 日韩字幕一中文在线综合 | 免费黄色网址在线播放 | 久久亚洲国产欧洲精品一 | 三级黄色毛片网站 | 成人在线观看网站 | 一区二区三区在线播放 | 香蕉草草久在视频在线播放 | 成人性生活免费视频 | 欧洲xxx | 久久免费播放视频 | 欧美97久久人人模人人爽人人喊 | 手机看片1024久久精品你懂的 | 99riav视频国产在线看 | 女全身裸无遮挡免费毛片 | 亚洲图片在线 | 日本日b | 第一福利官方导航大全 | 精品视频一区二区三区在线播放 | 天天干天天色综合 | 大jjjj免费看视频 | 久久综合五月开心婷婷深深爱 | 亚洲欧美精品伊人久久 | 午夜日韩精品 | 成人影院在线 | vvideos欧美极度另类 | 最新国产福利片在线观看 | 美女激情影院午夜网 | 一级毛片免费高清视频 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產品享最低成本,有需要聯系,
  • 卡爾蔡司鏡片優惠店,鏡片價格低
  • 蘋果原裝手機殼