一、基础命令行工具:快速查看实时状态
systemctl:检查MariaDB服务运行状态,确认是否处于active (running),并查看最近日志片段。命令:sudo systemctl status mariadb。top/htop:实时显示MariaDB进程的CPU、内存占用率(需通过-p参数指定进程ID,如top -p $(pgrep -f mariadb))。htop提供更直观的界面,需提前安装。iostat:监控磁盘I/O使用情况(需安装sysstat包),通过-x参数查看详细指标(如await、%util),判断磁盘是否成为瓶颈。命令:iostat -x 1。vmstat:报告进程、内存、分页、块IO等系统级信息,每秒刷新一次(vmstat 1),关注r(运行队列长度)、free(空闲内存)等指标。ss/netstat:查看MariaDB的网络连接状态(如监听端口3306、当前连接数),命令:ss -tnp | grep mariadb或netstat -tnp | grep mariadb。二、MariaDB自带工具:深入获取数据库细节
mysqladmin:命令行客户端工具,可快速检查服务器状态(如Uptime、Threads、Questions、Slow queries)。命令:mysqladmin -u root -p status。SHOW STATUS/SHOW VARIABLES:SHOW STATUS显示服务器运行状态变量(如Threads_connected、Innodb_buffer_pool_hit_rate),SHOW VARIABLES查看系统配置参数(如innodb_buffer_pool_size、max_connections)。命令:mysql -u root -p -e "SHOW STATUS;"或SHOW VARIABLES;。SHOW PROCESSLIST:查看当前所有活动的SQL连接及执行状态(如State、Time、Info),帮助识别慢查询或锁等待。命令:mysql -u root -p -e "SHOW PROCESSLIST;"。SELECT * FROM performance_schema.threads;(查看线程信息)、SELECT * FROM performance_schema.events_statements_current;(查看当前执行的SQL语句)。三、第三方监控工具:全面可视化与告警
mysqld_exporter采集MariaDB的性能指标(如mysql_up、mysql_threads_connected),存储到Prometheus,再用Grafana创建自定义仪表板(如监控QPS、慢查询趋势)。四、日志分析:追踪问题根源
/var/log/mysql/error.log或/var/log/mariadb/error.log。命令:sudo tail -f /var/log/mysql/error.log(或替换为实际路径)。