如何使用MySQL status命令详细查看数据库运行状况?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1042个文字,预计阅读时间需要5分钟。
服务是否活着,第一反应不是连上去查状态,而是用 `mysqladmin ping` 快速打个心跳。它不依赖用户权限(只要能连上socket或端口即可),失败时直接报错,成功只输出 `mysqld is alive` ——适合写进监控脚本或CI流程中。
- Linux/macOS 下通常无需指定用户:直接运行
mysqladmin ping,它会默认走 socket 连接(等价于mysqladmin -S /var/run/mysqld/mysqld.sock ping) - 如果 MySQL 配置了远程访问或自定义 socket 路径,必须显式加参数,比如
mysqladmin -h 127.0.0.1 -P 3306 -u root -p ping - 常见误判:返回
Access denied≠ 服务挂了,只是账号没权限执行 ping;返回Can't connect to local MySQL server才真正指向进程未启动、端口未监听或 socket 路径错误
show status 提供实时性能快照,但别只看 Connections
SHOW STATUS 返回上百个指标,新手常盯着 Connections 看“连了多少次”,其实真正反映当前负载的是 Threads_running 和 Threads_connected。前者是正在干活的线程数,超过 5–10 就该警惕慢查询堆积;后者是当前打开的连接数,接近 max_connections 值时新连接会被拒绝。
本文共计1042个文字,预计阅读时间需要5分钟。
服务是否活着,第一反应不是连上去查状态,而是用 `mysqladmin ping` 快速打个心跳。它不依赖用户权限(只要能连上socket或端口即可),失败时直接报错,成功只输出 `mysqld is alive` ——适合写进监控脚本或CI流程中。
- Linux/macOS 下通常无需指定用户:直接运行
mysqladmin ping,它会默认走 socket 连接(等价于mysqladmin -S /var/run/mysqld/mysqld.sock ping) - 如果 MySQL 配置了远程访问或自定义 socket 路径,必须显式加参数,比如
mysqladmin -h 127.0.0.1 -P 3306 -u root -p ping - 常见误判:返回
Access denied≠ 服务挂了,只是账号没权限执行 ping;返回Can't connect to local MySQL server才真正指向进程未启动、端口未监听或 socket 路径错误
show status 提供实时性能快照,但别只看 Connections
SHOW STATUS 返回上百个指标,新手常盯着 Connections 看“连了多少次”,其实真正反映当前负载的是 Threads_running 和 Threads_connected。前者是正在干活的线程数,超过 5–10 就该警惕慢查询堆积;后者是当前打开的连接数,接近 max_connections 值时新连接会被拒绝。

