首页 / MySQL 入门教程 / 连接 MySQL 服务器

MySQL 入门教程

连接 MySQL 服务器

本教程共 46 篇 · 第 3 篇 · 更新于 2026-07-30 · 约 10 分钟阅读

MySQLMySQL 入门教程连接mysql 客户端命令行远程连接错误排查

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 USERGRANT 授权。这部分后面用户管理章会讲。

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> 里,你能输入的有两种:

  1. SQL 语句:以分号结尾,发给服务端执行,比如 SHOW DATABASES;SELECT * FROM users;
  2. 客户端命令:以 \ 开头或就是 quitexit 这种,由客户端自己处理,不发给服务端,比如 \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 到底是怎么回事。