MySQL作為業界重要的關聯式資料庫之一,承載著眾多企業的核心資料。然而,隨著資料量不斷增加,MySQL的穩定性和安全性也受到了更多的考驗。為了確保MySQL的正常運作和資料安全,掌握一定的Linux監控技能顯得格外重要。本文將介紹如何使用Linux監控MySQL,協助您及時發現問題、解決問題,並確保資料庫的運作穩定性。
監控mysql效能的工具很多,好的工具是診斷myql效能瓶頸和排除伺服器的利器。日常工作我們常常用到工具如zabbix(借助腳本或插件),Prometheus(本人工作中常用)、MONyog等。但在一些特殊情況下,這它們並不總是完美滿足mysql開發人員或管理員的常見需求,或者在某些情況下可能無法正常工作。令人興奮的是mysql社群創建了各種開源工具來填補這些空白。今天分享4個命令列工具來監控Linux中mysql資料庫正常運作時間、負載和效能。
一 、Mytop
#Mytop是開源且免費的基於命令列的MySQL資料庫監控工具之一,由Jereme Zawodny使用Perl語言編寫。 Mytop 在終端機中運行,顯示有關線程、查詢、慢查詢、正常運行時間、負載等的統計信息,與 Linux監控命令top非常相似。這間接有助於管理員最佳化和提高 MySQl 的效能以處理大量請求並減少伺服器負載。
mytop提供了多種系統的安裝包,如centos、arch linux、opensuse等。
1、 安裝方法
#$ sudo apt install mytop #Debian/Ubuntu # yum install mytop #RHEL/CentOS # dnf install mytop #Fedora 22+ # pacman -S mytop #Arch Linux # zypper in mytop #openSUSE
2、如何使用 Mytop 監控 MySQL/MariaDB
Mytop需要MySQL/MariaDB登入憑證來監控資料庫並預設使用 root 使用者名稱連接到伺服器。您可以在執行時間在命令列上或在檔案中指定連接到資料庫伺服器的必要選項~/.mytop。
只需執行以下命令即可啟動mytop並在出現提示時提供您的MySQL/MariaDB root 使用者密碼。這將預設連接到測試資料庫。
# mytop --prompt 密码:
輸入 MySQL root 密碼後,您將看到Mytop監控,如下所示。
如果您想監視特定資料庫,只需要加選項-d即可,如下圖所示:
# mytop --prompt -d xuanyuan 密码:
如果你的每個資料庫都有特定的管理員,只需要指定連接資料的使用者名稱和密碼。
mytop -u admin -p password_here -d tdb
在命令列介面指定明文密碼還是有一定的安全隱患,為了避免這樣的安全風險,*我們可以使用設定檔~/.mytop來指定連接到資料庫的選項。
# vi ~/.mytop 添加以下选项: user=root pass=password_here host=localhost db=test delay=4 port=3306 socket=
二、mtop
#mtop (MySQL top) 是另一個類似的開源、基於命令列的即時 MYSQL Server 監控工具,它是用Perl語言編寫的,它顯示的結果與mytop類似。 mtop 監控花費最多時間完成的 MySQL 查詢,並在特定指定時間後終止那些長時間運行的查詢。
此外,mtop正在運行的查詢和終止查詢的查詢優化器信息,它還顯示伺服器的統計信息、配置信息和一些有用的調優技巧,以優化和提高MySQL 性能但不幸的是mtop沒有得到積極維護,可能無法在新安裝的MySQL 版本上運作。
功能:
顯示即時 MySQL 伺服器查詢。
提供 MySQL 設定資訊。
顯示過程查詢的縮放功能。
為查詢和「殺死」查詢提供查詢最佳化器資訊。
提供 MySQL 調優技巧。
能夠將輸出保存在.mtoprc設定檔中。
提供系統管理員推薦頁面 (‘ T ‘)。
向主標題新增查詢/秒。
將每秒資訊加入統計畫面。
三、Innotop
#Innotop另一個不錯的基於命令列的mysql監控工具,它用於監控在InnoDB引擎下運行的本機和遠端 MySQL 伺服器。 Innotop 包含許多功能並帶有不同類型的模式/選項,這有助於我們監控 MySQL 效能的各個方面,以找出 MySQL 伺服器出了什麼問題。
1、 安裝 Innotop(MySQL 監控)
預設情況下, innotop套件不包含在 Linux 發行版中,例如RHEL、CentOS、Fedora和Scientific Linux。您需要透過啟用第三方epel 儲存庫並使用 yum 命令來安裝它,如下圖所示:
# yum install innotop
要启动innotop,只需在命令行中键入“ innotop ”并分别指定选项-u(用户名)和-p(密码),然后按 Enter。
# innotop -u root -p 'tcm1nt'
2、Innotop 帮助
按“ ?” 获取命令行选项和用法的摘要。
切换到不同的模式: A Dashboard I InnoDB I/O Info Q Query List B InnoDB Buffers K InnoDB Lock Waits R InnoDB Row Ops C 命令摘要 L Locks S Variables & Status D InnoDB Deadlocks M Replication Status T InnoDB Txns F InnoDB FK Err O 打开表 U 用户统计 操作: d 更改刷新间隔 p 暂停 innotop k 终止查询连接 q 退出 innotop n 切换到下一个连接 x 终止查询 其他: TAB 切换到下一个服务器组/快速过滤您看到的内容 !显示许可证和保修 = 切换聚合 # 选择/创建服务器组 @ 选择/创建服务器连接 $ 编辑配置设置 \ 清除快速过滤器 按任意键继续
四、 mysqladmin
mysqladmin是一个默认的命令行 MySQL 客户端,预装在 MySQL 软件包,用于执行管理操作,例如监控进程、检查服务器配置、重新加载权限、当前状态、设置 root 密码、更改 root 密码、创建/删除数据库等。
要检查 mysql 状态以及正常运行时间,请从终端运行以下命令,请确保你有root的权限。
[root@localhost ~]# mysqladmin -u root -p version
通过本文的介绍,相信大家已经了解如何使用Linux监控MySQL,及时发现并解决问题,保障数据库的稳定性和安全性。在今后的实际操作中,希望大家能够灵活运用本文所介绍的监控工具和技巧,让MySQL在业务中发挥更大的价值,为企业的发展壮大保驾护航。
以上是如何使用Linux監控MySQL,確保資料庫運作穩定性的詳細內容。更多資訊請關注PHP中文網其他相關文章!