连接 MySQL 服务器
本教程共 46 篇 · 第 3 篇 · 更新于 2026-07-30 · 约 10 分钟阅读
3. 连接 MySQL 服务器
本节目标:学会用
mysql命令行客户端连上 MySQL 服务器,看懂登录后的提示信息,掌握基本交互和退出方式,并学会排查常见的连接错误。
装好 MySQL 后,下一步就是连上去用。这一节专讲命令行客户端的连接方式,图形化工具(Workbench、Navicat)原理一样,只是点鼠标代替敲命令。
3.1 mysql 命令的基本格式
连接 MySQL 最核心的一条命令长这样:
mysql -h 主机名 -u 用户名 -p
三个参数的含义:
-h:指定 MySQL 服务器的主机名或 IP 地址(host);-u:指定登录用的用户名(user);-p:表示用密码登录,回车后再输入密码(password)。
Note这三个参数是大小写敏感的:
-h、-u、-p必须小写。大写的-P是另一个意思—端口号,别搞混了。
3.2 连接本机的 MySQL
绝大多数学习场景,MySQL 就装在本机。本机连接可以省掉 -h,因为默认就是连 localhost:
mysql -u root -p
回车后,会提示你输入密码:
Enter password: ********
输入密码时,屏幕上不会显示任何字符(连星号都没有),这是正常的安全设计,别以为键盘坏了。盲打完按回车就行。
密码正确的话,会看到这样的欢迎信息:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 25338 to server version: 26.7.0-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
看到 mysql> 提示符,就说明连上了,可以开始敲 SQL 了。
3.3 连接远程的 MySQL
如果 MySQL 装在另一台服务器上,就要把 -h 写上对方 IP,端口不是默认 3306 的话还要加 -P:
mysql -h 192.168.1.100 -P 3306 -u root -p
-h 192.168.1.100:连这台 IP 的服务器;-P 3306:走 3306 端口(大写 P);-u root -p:用 root 账号、密码登录。
Warning远程连接常被两个东西挡住:一是服务器防火墙没放行 3306 端口;二是 MySQL 账号没授权远程登录。默认 root 只允许本机连,远程登录要在服务器上先
CREATE USER并GRANT授权。这部分后面用户管理章会讲。
3.4 看懂登录后的提示信息
刚连上那几行欢迎语,信息量不小,逐句拆给你看:
Welcome to the MySQL monitor.:欢迎进入 MySQL 监视器;Commands end with ; or \g.:SQL 语句以分号;或\g结束,这点非常关键,新手经常敲完语句没加分号,命令就不执行;Your MySQL connection id is 25338:这次连接的编号是 25338,每连一次自增,排查问题有用;to server version: 26.7.0-standard:服务端版本是 26.7.0;Type 'help;' or '\h' for help.:输入help;或\h看帮助;Type '\c' to clear the buffer.:输入\c可以取消当前没敲完的语句。
3.5 登录后试试手
连上之后,先来几条最基础的命令感受一下。
查看服务器上有哪些数据库:
SHOW DATABASES;
输出类似这样(刚装完默认有四个系统库):
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
选择一个数据库来用:
USE mysql;
看到 Database changed 就说明切过去了。后面所有操作都默认在这个库里进行。
查看当前选的是哪个库:
SELECT DATABASE();
Tip每开一个新的
mysql会话,都要重新USE选库,因为”当前库”是每个连接独立记住的。
3.6 语句结束符和取消语句
MySQL 命令行有个规矩:语句必须以 ; 结尾才会执行。这是新手最容易忘的。
-- 这样不会执行,会一直等你继续输入
SHOW DATABASES
-- 加上分号,回车执行
SHOW DATABASES;
如果一条语句写到一半想反悔,不想执行了,敲 \c 再回车就能取消,回到干净的 mysql> 提示符:
mysql> SELECT * FROM users WHERE \c
mysql>
也可以用 \g 代替分号,效果一样,但平时没人这么用,分号就够。
3.7 退出连接
用完了要退出,有几种方式:
mysql> QUIT;
或:
mysql> EXIT;
或简写:
mysql> \q
任选其一,看到 Bye 就退出了。Linux/macOS 下还可以直接按 Ctrl+D 退出。
3.8 命令行里能干的两类事
在 mysql> 里,你能输入的有两种:
- SQL 语句:以分号结尾,发给服务端执行,比如
SHOW DATABASES;、SELECT * FROM users;; - 客户端命令:以
\开头或就是quit、exit这种,由客户端自己处理,不发给服务端,比如\q、\h、\c。
记住区别:SQL 语句一定要加分号,客户端命令不一定。
3.9 常见连接错误排查
新手连接失败,基本就是下面这几种错误,照着对照排查。
错误一:服务没启动
ERROR 2002 (HY000): Can't connect to local MySQL server
through socket '/tmp/mysql.sock' (2)
意思是客户端找不到服务端。十有八九是 MySQL 服务没起来。
- Linux:
sudo systemctl start mysqld; - Windows:
Get-Service MySQL*看状态,没起就Start-Service服务名; - macOS:
brew services start mysql。
错误二:密码不对
ERROR 1045 (28000): Access denied for user 'root'@'localhost'
(using password: YES)
密码输错了,或者忘了。Linux yum 安装的,去日志找临时密码;其他情况只能重置密码(后面认证章会讲怎么改)。
错误三:主机连不上
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.100' (10061)
远程服务器没响应。检查:
- 服务器 IP 对不对、网络通不通;
- MySQL 服务在不在跑;
- 防火墙有没有放行 3306 端口。
错误四:端口不对
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
连的端口和服务器实际监听的端口对不上。确认 my.cnf 里的 port 设置,连接时用 -P 指对。
错误五:账号没远程权限
ERROR 1130 (HY000): Host 'xxx' is not allowed to connect
to this MySQL server
服务器允许这个账号从本机连,但不允许从你这台机器连。需要在服务器上给账号授权远程访问。
3.10 小结
这一节掌握了连接 MySQL 的全部基本功:
mysql -u 用户名 -p连本机,-h IP -P 端口连远程;- 语句必须以分号结尾,
\c取消未完成的语句; USE 库名切换当前库,SELECT DATABASE()查当前库;QUIT/\q退出连接;- 常见错误围绕”服务没起、密码错、网络不通、权限不够”四类排查。
下一节我们深入讲讲登录背后的认证机制,搞清楚 8.0+ 默认的 caching_sha2_password 到底是怎么回事。