一、命令行工具(基础监控)
top -p $(pgrep -f mariadb)或htop -p $(pgrep -f mariadb)过滤出MariaDB进程,查看其CPU、内存占用。ps aux | grep mariadb过滤,可结合awk统计进程数量或资源占用。sysstat包),iostat -x 1以1秒间隔输出详细I/O指标(如%util磁盘利用率、await响应时间),帮助分析磁盘瓶颈。sysstat包),vmstat 1每秒刷新一次,关注r(运行队列长度)、free(空闲内存)、io(块I/O)等指标。ss -tnp | grep mariadb或netstat -tnp | grep mariadb显示TCP连接(-t)、端口(-n)、进程信息(-p),帮助排查连接问题。二、MariaDB自带工具(深度诊断)
mysqladmin -u root -p status快速查看服务器状态(如Uptime、Threads_connected);mysqladmin -u root -p extended-status输出更详细的性能指标。SHOW STATUS;获取全局状态变量(如Innodb_buffer_pool_read_hits缓存命中率、Queries总查询数);SHOW PROCESSLIST;查看当前所有连接的线程及执行的SQL,识别慢查询或锁等待。slow_query_log=1开启慢查询日志(需修改my.cnf),指定日志路径(如slow_query_log_file=/var/log/mysql/slow.log)和阈值(long_query_time=1,单位秒),用mysqldumpslow或pt-query-digest分析慢查询,优化SQL性能。performance_schema=ON开启(默认开启),收集表、索引、SQL执行的详细指标,用于深入分析性能瓶颈。三、第三方监控工具(专业级方案)
mysqld_exporter导出),Grafana创建美观的仪表盘(如CPU使用率、内存占用、查询延迟)。支持告警规则配置,适合大规模分布式环境。zabbix-mysql模板),监控数据库性能、可用性、容量,提供告警(邮件、短信)和自动化运维功能。四、可视化与日志分析
/var/log/mysql/error.log)记录了数据库运行中的错误、警告信息,用tail -f /var/log/mysql/error.log实时查看;grep "ERROR" /var/log/mysql/error.log筛选错误日志,快速定位问题。