MySQL運維實戰(二)之巧用P_S解決賬號host訪問的榮耀王者之路
背景
- 一個MySQL例項中,如何驗證一個賬號上面是否還有訪問?
- 一個MySQL例項中,如何驗證某個業務ip是否還有訪問?
倔強青銅級別
- 開啟general log
優點: 全量
缺點: 效能差
秩序白銀級別
- 開啟slow log,設定long_query_time = 0
優點: 全量
缺點: 效能比較差
榮耀黃金級別
- tshark | tcpdump | tcpcopy
tshark -i any dst host ${ip} and dst port 3306 -l -d tcp.port==3306,mysql -T fields -e frame.time -e `ip.src` -e `mysql.query` -e `mysql.user` -e `mysql.schema`
優點:全量*95%
缺點:效能比較差,使用不方便
尊貴鉑金級別
- 使用P_S
* 使用案例
dba:performance_schema> select USER,EVENT_NAME,COUNT_STAR,now() as time from events_statements_summary_by_user_by_event_name where EVENT_NAME in (`statement/sql/select`,`statement/sql/update`,`statement/sql/delete`,`statement/sql/insert`,`statement/sql/replace`) and COUNT_STAR > 0;
+------+----------------------+------------+---------------------+
| USER | EVENT_NAME | COUNT_STAR | time |
+------+----------------------+------------+---------------------+
| dba | statement/sql/select | 143 | 2017-09-04 18:02:33 |
| repl | statement/sql/select | 10 | 2017-09-04 18:02:33 |
+------+----------------------+------------+---------------------+
2 rows in set (0.00 sec)
dba:performance_schema> select HOST,EVENT_NAME,COUNT_STAR,now() as time from events_statements_summary_by_host_by_event_name where EVENT_NAME in (`statement/sql/select`,`statement/sql/update`,`statement/sql/delete`,`statement/sql/insert`,`statement/sql/replace`) and COUNT_STAR > 0;
+-----------+----------------------+------------+---------------------+
| HOST | EVENT_NAME | COUNT_STAR | time |
+-----------+----------------------+------------+---------------------+
| localhost | statement/sql/select | 22 | 2017-09-04 18:02:35 |
+-----------+----------------------+------------+---------------------+
1 row in set (0.00 sec)
- 對比
優點:全量,效能基本無影響
缺點:無法抓到對應的SQL
永恆鑽石級別
- 巧用P_S
將每1分鐘,5分鐘,10分鐘的P_S快照對映到對應的table,永久存下來,進行統計分析
優點:全量,效能基本無影響,且時間更加細粒度化
缺點:無法抓到對應的SQL,需要額外開發成本
最強王者
- 巧用P_S + tshark
1. P_S分段,找到具體有訪問的時間段 $time
2. 在$time時間段內,去用tshark 抓取SQL相關info
相關文章
- MySQL 日常運維業務賬號許可權的控制MySql運維
- MySQL運維實戰系列:MySQL5.7GroupBy問題MySql運維
- MySQL5.7GTID運維實戰MySql運維
- MySQL運維實戰(7)建立複製MySql運維
- 運維記錄1——解決在Nginx下部署CRA專案,二級目錄不能訪問的問題運維Nginx
- 如何恢復對帝國CMS的訪問,忘記賬號密碼的解決方案密碼
- Redis運維實戰之叢集中的腦裂Redis運維
- gite多個賬號 訪問倉庫Git
- mysql賬戶新增遠端訪問MySql
- 搜狐號多賬號運營工具,多個賬號同步運營
- 王者榮耀技術分析(二):遊戲的幀同步遊戲
- 后羿:我射箭了快上—用MotionLayout實現王者榮耀團戰
- MySQL 8.0能徹底解決困擾運維的複製延遲問題!MySql運維
- MySQL運維實戰之備份和恢復(8.1)xtrabackup全量備份MySql運維
- 有贊MySQL自動化運維之路—ZanDBMySql運維
- MySQL運維實戰(7.1) 開啟GTID複製MySql運維
- 巧用Percona Toolkit解決MySQL主從不同步問題MySql
- 運維自動化之賬單系統運維
- SpringBoot 實戰 (六) | 用 JdbcTemplates 訪問 MysqlSpring BootJDBCMySql
- 王者榮耀進階戰令怎麼獲取?榮耀戰令進階版的獲取方法
- 【IT運維】如何有效保障伺服器賬號密碼安全?運維伺服器密碼
- 運維必備-解決鎖問題的全過程運維
- 巧用分析函式循序漸進解決實際問題函式
- mysql語句中有引號的問題解決方案MySql
- 八強雲集,決戰西安!“全民全運”王者榮耀“廣電網路秦嶺雲”杯決賽火熱開啟
- 網易OpenStack部署運維實戰運維
- Codepipeline 跨賬號訪問 CodecommitMIT
- 運維演變之路運維
- 《王者榮耀》新模式“契約之戰”來了:一人操作倆英雄模式
- [實戰]製作簡單的公眾號二維碼關注圖
- Win10系統玩王者榮耀出現破圖的解決方法Win10
- MySQL在遠端訪問時非常慢的解決方法MySql
- 申請 mysql 賬號MySql
- 智慧運維,雲資料中心運維的未來之路運維
- 快手多賬號運營工具,多個賬號同時進行運營
- MySQL運維實戰(5.6) 字符集設定對mysqldump的影響MySql運維
- Swift 演算法實戰之路(二)Swift演算法
- php+mysql 解決emoji表情符號問題PHPMySql符號