Debian MariaDB性能监控方法
-p参数过滤MariaDB进程(如top -p $(pgrep -f mariadb)或htop -p $(pgrep -f mariadb)),重点关注CPU%、RES(内存占用)、**TIME+(CPU时间)**等指标,快速定位高资源消耗的数据库进程。vmstat 1(每秒刷新)显示进程、内存、分页、块IO、CPU等活动,重点关注r(运行队列长度)、b(阻塞进程数)、wa(I/O等待时间);iostat -x 1提供更详细的磁盘I/O统计(如await响应时间、%util磁盘利用率),判断磁盘是否成为性能瓶颈。ss -tnp | grep mariadb或netstat -tnp | grep mariadb查看MariaDB的网络连接状态,包括当前连接数、连接状态分布(如ESTABLISHED、TIME_WAIT),识别异常连接(如大量CLOSE_WAIT)。mysqladmin -u root -p status(快速查看服务器状态,包括Uptime、Threads、Questions/Second);mysqladmin -u root -p extended-status(显示更详细的性能计数器)。SHOW STATUS;:查看全局状态变量(如Threads_connected当前连接数、Innodb_buffer_pool_hit_rate缓冲池命中率、Slow_queries慢查询数量);SHOW PROCESSLIST;:查看当前正在执行的查询(包括查询ID、用户、状态、执行时间、SQL语句),识别长时间运行的慢查询。top,显示线程活动、每秒查询次数(QPS)、进程列表等信息。Debian系统可通过sudo apt install mytop安装,启动命令:mytop --prompt(输入root密码即可),支持-d指定数据库、-u指定用户。sudo apt install innotop,启动:innotop -u root -p 'password',支持按C(缓冲池)、T(事务)、L(锁)等键切换视图。performance_schema=ON),使用mysqld_exporter采集指标并推送给Prometheus,最后在Grafana中配置数据源和仪表板。sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf,配置数据库连接后,通过Zabbix Web界面添加MariaDB监控项。/var/log/mysql/error.log(路径可通过SHOW VARIABLES LIKE 'log_error';确认),使用tail -f /var/log/mysql/error.log实时查看错误和警告信息(如InnoDB崩溃、连接超时),快速定位严重问题。/etc/mysql/mariadb.conf.d/50-server.cnf中添加:slow_query_log = ON
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1 # 超过1秒的查询视为慢查询
重启MariaDB后,使用mysqldumpslow -s t /var/log/mysql/slow.log分析慢查询日志(按执行时间排序),找出需要优化的查询。