Jw
首页
技术
英语
首页
技术
英语
  • MySQL

    • MySQL 基础
    • 环境变量配置(PATH)
    • SQL 语法与分类
    • MySQL 数据类型
    • SQL - DDL 数据定义语言
    • SQL - DML 数据操作语言
    • SQL - DQL 数据查询语言
    • SQL - DCL 数据控制语言
    • MySQL 函数
    • SQL 约束
    • SQL 外键约束
    • 多表关系
    • 多表查询(连接查询)
    • 隐式内连接 vs 显式内连接
    • 子查询
    • 多表查询案例
    • 事务
    • 并发事务问题与隔离级别
    • MySQL 体系结构与存储引擎
    • 索引概述
    • 索引结构
    • 索引分类
    • 索引语法
    • SQL 性能分析
    • 索引使用
    • 索引设计原则
    • SQL 优化 - 插入数据与主键优化
    • SQL 优化 - order by 与 group by
    • SQL 优化 - limit / count / update
    • 视图
    • 存储过程
    • 存储过程 - 变量
    • 存储过程 - 流程控制、游标与条件处理
    • 存储函数
    • 触发器
    • 锁概述与全局锁
    • 表级锁
    • 行级锁
    • InnoDB 逻辑存储结构
    • InnoDB 架构
    • 事务原理(redo / undo log)
    • MVCC
    • MySQL 系统数据库
    • MySQL 常用工具
    • 数据备份与导入导出
    • 错误日志与二进制日志
    • 查询日志与慢查询日志
    • 主从复制 - 概述与原理
    • 主从复制 - 搭建
    • Mycat 配置
    • Mycat 垂直拆分与水平拆分
    • Mycat 分片规则
    • Mycat 管理与监控
    • Mycat 读写分离 - 一主一从
    • Mycat 读写分离 - 双主双从

MySQL 常用工具

除图形化客户端外,MySQL 自带一组命令行工具:mysql 执行 SQL、mysqladmin 做管理、mysqlbinlog 看二进制日志、mysqlshow 查库表统计。

一、mysql(客户端工具)

这里的 mysql 不是指 MySQL 服务,而是 MySQL 的客户端工具。

mysql [options] [database]
选项含义
-u, --user=name指定用户名
-p, --password[=name]指定密码
-h, --host=name指定服务器 IP 或域名
-P, --port=port指定连接端口
-e, --execute=name执行 SQL 语句并退出

-e 选项可以在 MySQL 客户端执行 SQL 语句,而不用连接到 MySQL 数据库再执行,对一些批处理脚本尤其方便。

# 连接并执行一条查询后退出
mysql -uroot -p123456 db01 -e "select * from stu";

-p 与密码之间不能有空格(-p123456);写成 -p 123456 会被当作数据库名。

二、mysqladmin(管理工具)

mysqladmin 是一个执行管理操作的客户端程序,可以用来检查服务器的配置和当前状态、创建并删除数据库等。

# 查看全部可用选项
mysqladmin --help

# 常用操作
mysqladmin -uroot -p123456 version          # 查看版本信息
mysqladmin -uroot -p123456 status           # 简短状态信息
mysqladmin -uroot -p123456 ping             # 检查服务是否存活
mysqladmin -uroot -p123456 processlist      # 查看当前活动线程
mysqladmin -uroot -p123456 create test01    # 创建数据库
mysqladmin -uroot -p123456 drop test01      # 删除数据库
选项作用
create database_name创建数据库
drop database_name删除数据库及其所有表
extended-status输出服务器扩展状态信息
flush-hosts / flush-logs / flush-tables清理缓存主机 / 刷新日志 / 刷新表
flush-status清空状态变量
kill id,id,...杀掉指定线程
password [new-password]修改当前用户密码
ping检查服务是否存活
processlist显示活动线程列表
reload / refresh重新加载授权表 / 刷新表并重开日志
shutdown关闭服务器
status简短状态信息
variables打印可用变量
version获取版本信息

shutdown、drop 属于高危操作,生产环境先确认实例和库名。

三、mysqlbinlog(二进制日志查看)

服务器生成的二进制日志文件以二进制格式保存,如果想查看其文本格式,就要用 mysqlbinlog 日志管理工具。

mysqlbinlog [options] log-files1 log-files2 ...
选项含义
-d, --database=name指定数据库名称,只列出指定数据库相关操作
-o, --offset=#忽略日志中的前 n 行命令
-r, --result-file=name将输出的文本格式日志输出到指定文件
-s, --short-form显示简单格式,省略一些信息
--start-datetime=date1 --stop-datetime=date2指定日期间隔内的所有日志
--start-position=pos1 --stop-position=pos2指定位置间隔内的所有日志
# 查看 binlog 内容(文本形式)
mysqlbinlog -v /var/lib/mysql/binlog.000001

# 只看指定库、指定时间段的日志
mysqlbinlog -d itcast --start-datetime="2026-10-25 09:00:00" \
  --stop-datetime="2026-10-25 12:00:00" /var/lib/mysql/binlog.000001

前提是服务端已开启 binlog(log_bin = ON);ROW 格式下需加 -v 才能看到具体行的变更。

四、mysqlshow(对象查找)

mysqlshow 客户端对象查找工具,用来快速查找存在哪些数据库、数据库中的表、表中的列或者索引。

mysqlshow [options] [db_name [table_name [col_name]]]
选项含义
--count显示数据库及表的统计信息(数据库、表均可以不指定)
-i显示指定数据库或者指定表的状态信息
# 每个数据库的表的数量及表中记录的数量
mysqlshow -uroot -p2143 --count

# test 库中每个表的字段数及行数
mysqlshow -uroot -p2143 test --count

# test 库中 book 表的详细情况
mysqlshow -uroot -p2143 test book --count

速查

# 客户端:执行 SQL 后退出(适合脚本)
mysql -uroot -p123456 db01 -e "select * from stu";

# 管理:版本 / 状态 / 存活 / 建库 / 删库
mysqladmin -uroot -p123456 version
mysqladmin -uroot -p123456 status
mysqladmin -uroot -p123456 ping
mysqladmin -uroot -p123456 create test01
mysqladmin -uroot -p123456 drop test01

# 二进制日志:文本查看,可按库 / 时间 / 位置过滤
mysqlbinlog -v /var/lib/mysql/binlog.000001
mysqlbinlog -d itcast --start-position=4 --stop-position=1200 /var/lib/mysql/binlog.000001

# 对象查找:库 / 表 / 字段的统计信息
mysqlshow -uroot -p2143 --count
mysqlshow -uroot -p2143 test --count
mysqlshow -uroot -p2143 test book --count
工具一句话
mysql客户端,-e 执行 SQL 并退出
mysqladmin管理:状态、建库删库、关服务
mysqlbinlog把二进制日志转成文本查看
mysqlshow查库、表、字段的统计信息

相关

  • MySQL 系统数据库:information_schema / performance_schema
  • 数据备份与导入导出:mysqldump、mysqlimport、source
  • MySQL 基础:客户端连接与环境变量
  • SQL DCL 数据控制语言:用户与权限
最近更新: 2026/10/25 11:41
Contributors: liujw
Prev
MySQL 系统数据库
Next
数据备份与导入导出