最基本、最常用的命令
如果您只需要连接到本地(同一台机器)的 MySQL 服务器,并且用户名是 root,那么您只需要这一条命令:

mysql -u root -p
命令分解:
mysql: 这是 MySQL 客户端程序的命令。-u: user 的缩写,用于指定用户名。root: MySQL 的超级管理员用户名。-p: password 的缩写,表示需要输入密码。注意:-p后面通常不直接跟密码,这样更安全,可以避免密码在命令历史中泄露。
执行步骤:
- 打开您的终端(在 Windows 上是
cmd或PowerShell,在 macOS 或 Linux 上是Terminal)。 - 输入
mysql -u root -p然后按回车。 - 系统会提示您输入密码:
Enter password:。 - 输入您在安装 MySQL 时为
root用户设置的密码,然后按回车。 - 如果密码正确,您将看到
mysql>提示符,表示您已成功进入 MySQL 命令行界面。
连接到远程 MySQL 服务器
如果您需要连接到另一台计算机上的 MySQL 服务器,需要指定该计算机的 IP 地址或主机名。
mysql -u [远程用户名] -p -h [远程服务器IP地址] -P [端口号]
参数说明:

-h(host): 指定远程 MySQL 服务器的 IP 地址或主机名。-P(Port): 指定 MySQL 服务器监听的端口号,MySQL 的默认端口是3306,如果使用默认端口,可以省略-P 3306。
示例:
假设远程服务器的 IP 是 168.1.100,用户名是 db_user,端口是默认的 3306。
mysql -u db_user -p -h 192.168.1.100
重要提示: 要连接到远程 MySQL 服务器,您必须在远程服务器上进行以下配置:
- 允许远程连接:登录到远程服务器的 MySQL,执行
GRANT ALL PRIVILEGES ON *.* TO 'db_user'@'%' IDENTIFIED BY 'password';(请根据实际情况修改用户名和密码),然后执行FLUSH PRIVILEGES;。 - 防火墙放行:确保服务器的防火墙(如
ufw,firewalld或云服务商的安全组)允许来自您 IP 地址的3306端口访问。
连接后指定要使用的数据库
连接 MySQL 后,您可以使用 USE [数据库名]; 命令来切换数据库,但您也可以在连接时直接指定要进入的数据库。

mysql -u [用户名] -p -h [主机] [数据库名]
示例:
连接到本地 root 用户,并直接进入名为 my_database 的数据库。
mysql -u root -p my_database
执行此命令后,您会先输入密码,成功连接后会直接看到 my_database> 提示符,无需再执行 USE my_database;。
其他常用连接选项
| 选项 | 全称 | 描述 |
|---|---|---|
-u, --user=name |
--user |
指定登录的用户名。 |
-p, --password[=name] |
--password |
提示输入密码。 后跟密码,密码会明文显示,不安全,不推荐。 |
-h, --host=name |
--host |
指定服务器主机名或 IP 地址。 |
-P, --port=# |
--port |
指定端口号。 |
-S, --socket=file_name |
--socket |
指定连接到本地 MySQL 服务器时使用的 Unix 套接字文件,这在 macOS 或某些 Linux 发行版中很常见。 |
-D, --database=name |
--database |
指定登录后要使用的数据库名。 |
-e, --execute=name |
--execute |
非常实用! 在不进入交互式终端的情况下,直接执行一条 SQL 语句并退出。 |
实用技巧
使用 -e 选项执行单条 SQL 命令
当您需要在脚本中自动化执行 SQL 时,这个选项非常有用。
示例:
查看 my_database 数据库中 users 表的所有数据。
mysql -u root -p my_database -e "SELECT * FROM users;"
执行后,终端会提示您输入密码,验证通过后,会直接输出查询结果,然后自动退出 MySQL。
连接时指定套接字文件
在某些情况下(例如使用 Homebrew 安装的 macOS),MySQL 可能不监听网络端口,而是使用本地套接字文件,您需要使用 -S 选项。
示例 (macOS):
# 查找套接字文件位置通常在 /tmp 或 /var/mysql 下 mysql -u root -p -S /tmp/mysql.sock
如何退出 MySQL 命令行
在 mysql> 提示符下,您可以使用以下任意命令退出:
QUIT; exit; \q
按 Ctrl + D 也可以退出。
常见问题排查
问题 1:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
原因: 客户端找不到 MySQL 服务器的 Unix 套接字文件,这通常意味着 MySQL 服务没有运行,或者客户端配置的套接字路径不正确。 解决方法:
- 检查 MySQL 服务是否正在运行:
sudo systemctl status mysql(Linux) 或使用其他服务管理工具。 - 如果服务未运行,启动它:
sudo systemctl start mysql。 - 如果服务在运行,尝试使用
-S选项指定正确的套接字文件路径(如上节所述)。
问题 2:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
原因: 用户名或密码错误。 解决方法:
- 核对密码:仔细检查您输入的密码是否正确。
- 重置密码:如果您忘记了密码,需要按照 MySQL 官方文档进行密码重置流程,这通常需要停止 MySQL 服务,以安全模式启动,然后修改
mysql数据库中的user表。
希望这份详细的指南能帮助您顺利进入 MySQL!
