)
一、命令简介mysql 是 MySQL 关系型数据库管理系统最核心的官方命令行客户端工具。它允许用户通过终端或命令行界面连接到 MySQL 服务器执行 SQL 语句、管理数据库、查看数据以及进行各种数据库操作。该工具是数据库管理员和开发人员进行交互式操作和脚本化任务的基础工具。二、语法格式plaintextmysql [options] [database_name]基本语法说明[database_name]: 可选的数据库名称。如果在此指定连接成功后会自动 USE 该数据库。三、常用选项及说明mysql 客户端提供了丰富的选项以下分类列出最常用和关键的部分。连接选项这些选项用于建立与 MySQL 服务器的连接。表格选项简写说明--hosthost_name-h指定要连接的 MySQL 服务器主机名或 IP 地址。默认是 localhost。--useruser_name-u指定用于连接服务器的 MySQL 用户名。--password[password]-p提示输入连接密码。为了安全建议不在命令后直接输入密码而是使用 -p 后回车在提示符下输入输入不可见。若直接在 -p 后跟密码如 -pMyPass存在密码泄露到历史记录的风险。--portport_num-P指定 TCP/IP 连接的端口号。默认是 3306。--socketpath-S对于本地连接指定要使用的 Unix 套接字文件或 Windows 命名管道的路径。--databasedb_name-D指定连接后要使用的初始数据库。等同于在命令末尾直接写数据库名。执行与输出选项这些选项控制 SQL 语句的执行方式和结果的显示格式。表格选项说明--executestatement-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-filefile_name仅从给定的配置文件中读取选项。常用于指定自定义的 .cnf 文件。--promptformat将提示符设置为指定格式。例如 --prompt\u\h [\d]。--auto-rehash启用自动补全默认。使用 --disable-auto-rehash 来禁用它以加快连接速度尤其是在数据库对象很多时。四、示例用法交互式连接到本地 MySQL 服务器plaintextmysql -u root -p连接后会进入 mysql 提示符可以输入 SQL 命令。连接到远程服务器并指定数据库plaintextmysql -h 192.168.1.100 -P 3307 -u appuser -p mydatabase连接到主机 192.168.1.100 端口 3307 上的 mydatabase 数据库。执行单条 SQL 语句后退出非交互式plaintextmysql -u root -p -e SHOW DATABASES;执行多条 SQL 语句来自字符串plaintextmysql -u root -p -e USE test; SHOW TABLES; SELECT COUNT(*) FROM users;执行 SQL 脚本文件plaintextmysql -u root -p mydatabase /path/to/script.sql使用批处理模式输出便于脚本处理plaintextmysql -u root -p -s -B -e SELECT id, name FROM products output.tsv结果将以制表符分隔保存到 output.tsv 文件。垂直显示复杂的查询结果plaintextmysql -u root -p -E -e SHOW ENGINE INNODB STATUS\G\G 是交互式命令中的垂直输出快捷键在 -e 中需要用 -E 选项替代。从特定配置文件读取连接参数plaintextmysql --defaults-file/etc/mysql/my_client.cnfmy_client.cnf 内容可能包含plaintext[client] hostlocalhost usermyuser passwordmypassword databasemydb五、注意事项密码安全避免在命令行、Shell 脚本中明文指定密码如 -pmypassword。优先使用 -p 交互输入或使用安全的配置文件如通过 mysql_config_editor 工具创建的 .mylogin.cnf 文件来存储登录凭据。连接失败如果遇到连接问题请依次检查网络连通性、主机地址、端口号、用户名和密码是否正确并确认 MySQL 服务正在运行且允许来自客户端的连接。字符集如果查询或返回的数据包含非 ASCII 字符如中文可能需要通过 --default-character-setutf8mb4 等选项确保客户端和服务端的字符集设置一致以避免乱码。脚本化使用在 Shell 脚本中非交互式调用 mysql 时建议结合 --silent (-s) 和 --batch (-B) 选项使输出格式更稳定、易于后续处理。