mysqladmin 是什么
mysqladmin 是 MySQL 自带的实例级管理工具,不用进入交互式客户端就能完成日常小操作:查看运行状态与线程数、ping 探活、建库删库、刷新日志与权限、干净关闭实例。它尤其适合放进监控脚本与巡检任务,因为输出是单行文本,解析成本很低;缺点是能力集中在实例层面,不涉及表与行的操作。
基本信息
| 用途 | 实例级运维操作 |
|---|---|
| 语法 | mysqladmin [选项] 命令 |
| 常用命令 | status / ping / create / drop / flush-logs / shutdown |
| 连接参数 | -u 用户、-p 密码、-h 主机、-P 端口 |
| 适用平台 | Linux 与 Windows 通用,随 MySQL 客户端包安装 |
典型使用场景
- 监控脚本里判断实例是否存活(ping)
- 快速查看 QPS、线程数与慢查询累计值
- 批量建库与删库,省去进入交互式客户端
- 切割错误日志与 binlog 后归档
- 维护窗口里干净关闭实例,等待事务正常收尾
常用操作
常用操作
mysqladmin -uroot -p status # 一行状态总览
mysqladmin -uroot -p ping # 存活探测:mysqld is alive
mysqladmin -uroot -p extended-status | grep -i threads
mysqladmin -uroot -p create newdb # 建库
mysqladmin -uroot -p drop olddb # 删库,不可逆
mysqladmin -uroot -p flush-logs # 切割日志
mysqladmin -uroot -p flush-privileges # 重载权限表
mysqladmin -uroot -p shutdown # 干净关闭实例status 输出读法
| 字段 | 含义 | 异常信号 |
|---|---|---|
| Uptime | 运行时长 | 很短说明刚重启过,需确认原因 |
| Threads | 当前连接数 | 接近 max_connections 上限要预警 |
| Questions | 已处理语句总数 | 配合 Uptime 估算平均 QPS |
| Slow queries | 慢查询累计数 | 持续增长说明有语句需要优化 |
| Opens | 表被打开的次数 | 快速增长说明在频繁开关表 |
| Flush tables | 刷新次数 | 异常增长可能是有脚本在反复刷新 |
shutdown 是干净关闭:会等待长事务回滚,可能耗时数分钟。生产环境中先确认复制关系与业务流量已摘除,不要把它当作强制 kill 使用。
ping 只能证明进程在响应,不代表负载正常。探活通过但 QPS 已经打满的情况很常见,必须结合 status 与慢查询一起判断。
连接凭据建议放在权限 600 的配置文件或 mysql_config_editor 生成的登录路径里:命令行参数会进入 shell 历史与进程列表,等同于明文泄露。