mysql 检查_检查MySQL的健康状况
MySQL提供了大量的變量、參數以用于性能及健康狀態檢查。現在讓我們一起看看那些比較重要的變量、參數。1MySQL是否可用?這當然是首先要做的,如果你的MySQL服務都沒在跑了,其它監控從何談起?我們可以使用如下幾條命令來查看當前MySQL服務是否處于運行狀態(相應主機上的相應用戶應具有相應的權限):mysqladmin -hhost_name /IP-uuser_name-ppingmysqladmin-hhost_name /IP-uuser_name-pstatus或者service mysqld status/etc/init.d/mysqld statusnetstat ?-tnlp|grep ? 3306 ? ? ?#MySQL默認使用的端口ps ? aux|grep ? ? [m]ysqld2數據庫用戶及數據庫足夠安全?是否存在很多“host”為“%”的用戶?莫非你是想要這些用戶能從世界任何一個地方登錄你的MySQLserver?是否grantallon*.*給了用戶?這些用戶有必要擁有這些權限么?記不記得MySQL還有個默認沒有密碼的root用戶?這可是件很恐怖的是,當然也可能成為一件令人振奮的事!什么樣的用戶該賦予哪些權限能從哪些地方接入都是要慎重考慮的,不要為了一時方便而給別有用心之人留下可乘之機!我們可以通過如下命令來創建用戶及管理權限CREAT EUSER 'user_nane' ?IDENTIFIED ? BY ?'your_password';GRANT ? privileges_to_user ?TO ?'user_name'@'host_name ? /ip ? ? '[WITHGRANTOPTION];FLUSHPRIVILEGS;或者簡單一點GRANT ? privileges_to_user ? ?TO ? ? 'user_name'@'host_name ? ?/ip ? 'IDENTIFIEDBY'your_password' ?[WITHGRANTOPTION];FLUSHPRIVILEGS;3連接數正常否?連接數正常么?有多少由于客戶沒有正確關閉連接而死掉的連接?有多少失敗的連接?是不是有惡意連接?還是連接數不夠用了?我們可以用SHOW ? full ? ?processlistmysqladmin ? -hhost_name ? /IP-uuser_name-pprocesslist來查看連接數,如果是root用戶將會看到所有的連接而其它用戶只能看到自己占用的連接可以用SHOW GLOBAL ?STATUS ? LIKE ? 'aborted_connects'查看當前失敗連接數可以用SHOW GLOBAL ?STATUS ? LIKE ? 'aborted_clients'查看有多少由于客戶沒有正確關閉連接而死掉的連接數可以用SHOW ?CLOBAL ? VARIABLES ? LIKE ? 'max_connections'SHOW ?GLOBAL ? STATUS ? LIKE ? ? ?'max_connections'查看最大連接數4錯誤日志!錯誤日志不止包含了MySQL服務在啟動和停止過程中的相關信息,它還包括服務運行過程中一些重要(危險)的信息。特別是日志中帶有[error]的信息應得到特殊的照顧!5Innodb死鎖當遇到死鎖時Innodb會回滾事務。了解死鎖何時發生對于追溯其發生的根本原因非常重要。我們必須知道產生了什么樣的死鎖,相關應用是否正確處理或已采取了相關措施。可以通過SHOW ? ENGINE ? INNODB ? ?STATUS查看死鎖相關狀況6服務配置文件最近有更改否?是不是覺得最近MySQL服務跑著有點不對勁?最近更改了配置文件么?配置文件對MySQL服務來說是至關重要的,一般不要輕易更改!在改之前最好先備份一份,改動的地方要做好注釋(順便提一句,在備份數據庫的時候別忘記備份配置文件!)。7慢查詢日志慢查詢日志對SQL調優來說是非常重要的,它記錄了超過指定時間(long_query_time)的查詢語句;一般只在需要時開啟。8從服務器落后了多少?MySQL的主從復制在生產環境中經常用到,從服務器能跟上主服務器的步伐么?落后的時間(seconds_behind_master)是否在安全范圍內?可以通過SHOW ?SLAVE ? ?STATUS查看從服務器當前狀態9全表掃描比例計算方式如下((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))對于全表掃描對性能的影響我想大家都比我清楚得多!我們可以通過SHOWGLOBALSTATUSLIKE'Handler_read%'取得相關參數的值再進行計算。我們應該知道為什么會產生全表掃描及是否有必要做出相應的調整。
總結
以上是生活随笔為你收集整理的mysql 检查_检查MySQL的健康状况的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: anaconda下载jupyter写py
- 下一篇: mysql 安全删除_mysql的bin