当前位置: 首页 > news >正文

MySQL 核心命令行工具:mysql 命令超详细教程(连接 / 执行 SQL / 脚本全解)

一、命令简介

mysql 是 MySQL 关系型数据库管理系统最核心的官方命令行客户端工具。它允许用户通过终端或命令行界面连接到 MySQL 服务器,执行 SQL 语句、管理数据库、查看数据以及进行各种数据库操作。该工具是数据库管理员和开发人员进行交互式操作和脚本化任务的基础工具。

二、语法格式

plaintext

mysql [options] [database_name]

基本语法说明:

  • [database_name]: 可选的数据库名称。如果在此指定,连接成功后会自动 USE 该数据库。

三、常用选项及说明

mysql 客户端提供了丰富的选项,以下分类列出最常用和关键的部分。

连接选项

这些选项用于建立与 MySQL 服务器的连接。

表格

选项简写说明
--host=host_name-h指定要连接的 MySQL 服务器主机名或 IP 地址。默认是 localhost。
--user=user_name-u指定用于连接服务器的 MySQL 用户名。
--password[=password]-p提示输入连接密码。为了安全,建议不在命令后直接输入密码,而是使用 -p 后回车,在提示符下输入(输入不可见)。若直接在 -p 后跟密码(如 -pMyPass),存在密码泄露到历史记录的风险。
--port=port_num-P指定 TCP/IP 连接的端口号。默认是 3306。
--socket=path-S对于本地连接,指定要使用的 Unix 套接字文件或 Windows 命名管道的路径。
--database=db_name-D指定连接后要使用的初始数据库。等同于在命令末尾直接写数据库名。

执行与输出选项

这些选项控制 SQL 语句的执行方式和结果的显示格式。

表格

选项说明
--execute=statement-e执行指定的 SQL 语句(或语句块)并退出。非常适合在 Shell 脚本中非交互式地使用 MySQL。可以多次使用此选项执行多个语句。
--batch-B使用制表符作为列分隔符打印结果,每行占一行。此模式输出更易于被其他程序(如 awk, cut)解析。
--silent-s沉默模式。减少输出信息,与 -B 结合使用时效果更佳。
--vertical-E垂直输出结果。将查询结果的每一行以键值对(每列一行)的形式打印,当查询结果很宽(列很多)时非常有用。
--table-t以表格形式输出结果(默认的交互模式输出格式)。在非交互式脚本中(如使用 -e 时),默认输出是简化的,此选项可强制表格输出。
--xml-X将输出生成 XML 格式。
--html-H将输出生成 HTML 格式。
--skip-column-names-N在结果中不显示列名。
--wait-w如果无法建立连接,等待并重试,而不是直接退出。

客户端行为选项

表格

选项说明
--help-?显示帮助信息并退出。
--version-V显示版本信息并退出。
--defaults-file=file_name仅从给定的配置文件中读取选项。常用于指定自定义的 .cnf 文件。
--prompt=format将提示符设置为指定格式。例如 --prompt="\u@\h [\d]>"。
--auto-rehash启用自动补全(默认)。使用 --disable-auto-rehash 来禁用它,以加快连接速度,尤其是在数据库对象很多时。

四、示例用法

交互式连接到本地 MySQL 服务器

plaintext

mysql -u root -p

连接后,会进入 mysql> 提示符,可以输入 SQL 命令。

连接到远程服务器并指定数据库

plaintext

mysql -h 192.168.1.100 -P 3307 -u appuser -p mydatabase

连接到主机 192.168.1.100 端口 3307 上的 mydatabase 数据库。

执行单条 SQL 语句后退出(非交互式)

plaintext

mysql -u root -p -e "SHOW DATABASES;"

执行多条 SQL 语句(来自字符串)

plaintext

mysql -u root -p -e "USE test; SHOW TABLES; SELECT COUNT(*) FROM users;"

执行 SQL 脚本文件

plaintext

mysql -u root -p mydatabase < /path/to/script.sql

使用批处理模式输出,便于脚本处理

plaintext

mysql -u root -p -s -B -e "SELECT id, name FROM products" > output.tsv

结果将以制表符分隔,保存到 output.tsv 文件。

垂直显示复杂的查询结果

plaintext

mysql -u root -p -E -e "SHOW ENGINE INNODB STATUS\G"

\G 是交互式命令中的垂直输出快捷键,在 -e 中需要用 -E 选项替代。

从特定配置文件读取连接参数

plaintext

mysql --defaults-file=/etc/mysql/my_client.cnf

my_client.cnf 内容可能包含:

plaintext

[client] host=localhost user=myuser password=mypassword database=mydb

五、注意事项

  • 密码安全:避免在命令行、Shell 脚本中明文指定密码(如 -pmypassword)。优先使用 -p 交互输入,或使用安全的配置文件(如通过 mysql_config_editor 工具创建的 .mylogin.cnf 文件)来存储登录凭据。
  • 连接失败:如果遇到连接问题,请依次检查网络连通性、主机地址、端口号、用户名和密码是否正确,并确认 MySQL 服务正在运行且允许来自客户端的连接。
  • 字符集:如果查询或返回的数据包含非 ASCII 字符(如中文),可能需要通过 --default-character-set=utf8mb4 等选项确保客户端和服务端的字符集设置一致,以避免乱码。
  • 脚本化使用:在 Shell 脚本中非交互式调用 mysql 时,建议结合 --silent (-s) 和 --batch (-B) 选项,使输出格式更稳定、易于后续处理。
http://www.jsqmd.com/news/1244820/

相关文章:

  • AI知识蒸馏技术:从人类思维到可执行技能
  • 宝玑厦门客户服务网点地址及售后热线电话(2026年7月最新更新) - 亨得利官方服务中心
  • 【HarmonyOS学习笔记】2026-07-22 | speechRecognizer 踩坑实录2
  • 阿里云百炼HappyOyster 1.0:自然语言生成交互式3D数字世界
  • 【Bug已解决】[BUG] It seems that SuperOfflload is unable to overlap the CPU (param update) and GPU (backw
  • 设计能力强的高定木作品牌怎么选?
  • 2026 年新消息:鹿泉热门的口齿不清公司综合实力解析,说错话如何毁掉你的社交圈? - 领域鉴赏官
  • 茂名国产集成电路品牌技术特点与本地产业落地全解析 - 品牌优推
  • python:Backtracking Algorithm
  • 2026论文降AI率必备清单:AI率92%暴降至5%!实测10款降AIGC平台!薅羊毛技巧!
  • 2026 AI办公格局大变!腾讯、阿里、字节打法彻底分化
  • [Nature 2026]AFLoc 多模态视觉-语言模型型 医疗影像场景的病灶定位 无标注、强泛化、高精度,人工智能医学应用
  • 2026美国硕士申请哪家机构更靠谱?十家中介选校文书费用与合同差异一次说清 - 环球新视野
  • 《人工智能的底层逻辑》:一本AI通识教材的创新与教学实践
  • qwenpaw-plugin-file-tools QwenPaw增强文件工具 更新 v1.1.1
  • 干货指南:靠近海边门窗五金怎么选?2025十大进口门窗五金品牌实力盘点
  • AI如何重构SEO:智能关键词与内容优化实战
  • multi-agent-aiops-coding-workflow
  • 2026年7月最新爱彼长春北湖吾悦广场维修保养服务电话 - 爱彼中国官方服务中心
  • PCI Geomatica Catalyst Pro3.x安装与优化全指南
  • 推荐系统如何通过用户行为数据判断兴趣与优化内容分发
  • 卡地亚中国售后服务中心|地址与售后服务电话权威信息通知(2026年7月最新) - 卡地亚官方售后中心
  • 2026年天津滚珠型导轨滚柱型导轨生产厂家选购实用指南 - 品牌优推
  • Claude Code文档自动化:从原理到实践
  • AI工具链如何提升毕业论文写作效率300%
  • Cocos Creator 3.8安卓启动流程深度解析:从Activity到V8引擎的完整链路
  • 基于CN3722的太阳能充电宝(单节锂电池)
  • AI开发中的模型IO:提示模板与输出解析器实战
  • 2026年新疆乌鲁木齐代理记账公司哪家业务量好? - 品牌排行榜
  • C/C++三方库鸿蒙 PC 移植:鸿蒙PC开发者面对面 · 线下课件PPT