跳到主要内容

03 连接 MySQL 与客户端工具

📖 本节导读

学完本节你将掌握:

  • 用命令行连接 MySQL,理解 -h -P -u -p 各参数的含义
  • 在 MySQL 提示符下执行第一批 SQL 命令并看懂输出
  • SQL 语句的基本书写规则(分号结尾、大小写不敏感等)
  • 主流图形化客户端工具的特点与选择建议

一、什么是"连接"数据库?

上一节我们把 MySQL 装好了,它现在正作为一个服务在后台默默运行,就像一家 24 小时营业的银行。但银行开着门不等于你已经在办业务——你还得走进去、出示身份,才能开始存取款。

"连接(Connect)"数据库,就是这个"走进去并出示身份"的过程:客户端程序找到 MySQL 服务,提供用户名和密码,验证通过后建立一条会话通道,之后你发出的每条 SQL 命令都通过这条通道执行。

帮你连接数据库的程序叫客户端(Client),它分两类:

  • 命令行客户端:安装 MySQL 时自带的 mysql 命令,纯文字界面
  • 图形化客户端:如 Workbench、Navicat、DBeaver,鼠标点点点的可视化界面

我们先学命令行——它最原始,但最能帮你理解本质,而且任何服务器环境都有它。

二、用命令行连接 MySQL

1. 最常用的连接命令

打开命令行窗口,输入:

mysql -u root -p

回车后会提示 Enter password:,输入你安装时设置的 root 密码(输入时屏幕上不会显示任何字符,这是正常的安全设计,不是键盘坏了),再回车。

2. 各参数含义

完整形式的连接命令长这样:

mysql -h 127.0.0.1 -P 3306 -u root -p
参数含义说明
-hhost,主机地址要连接的 MySQL 在哪台电脑上。连本机时是 localhost127.0.0.1可省略
-PPort,端口号大写 P。默认 3306,没改过端口就可省略
-uuser,用户名用哪个账号登录,目前我们只有超级管理员 root
-ppassword,密码小写 p。表示"我要输入密码",回车后再单独输入

因为 -h-P 都有默认值,所以连接本机时通常简写为 mysql -u root -p

小提示:-p 后面其实可以直接跟密码(如 -p123456,中间不能有空格),但密码会明晃晃地留在屏幕和历史记录里,不推荐。养成回车后单独输入密码的好习惯。

3. 连接成功后长什么样?

验证通过后,你会看到一段欢迎信息:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 8.0.36 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

注意最后一行的 mysql>——这就是 MySQL 的命令提示符,表示"我在听,请下命令"。从现在起,你输入的内容都会被当作 SQL 语句交给 MySQL 执行。

4. 如何退出?

mysql> 提示符下输入以下任意一个并回车:

exit

quit

看到 Bye 就表示已断开连接,回到了普通命令行。放心,退出只是"离开银行大厅",MySQL 服务本身仍在后台运行,数据不会丢。

三、第一批体验命令

连接成功后,来执行几条最简单的 SQL,感受一下和数据库"对话"。

1. 查看 MySQL 版本

SELECT VERSION();

输出:

+-----------+
| VERSION() |
+-----------+
| 8.0.36 |
+-----------+
1 row in set (0.00 sec)

2. 查看当前时间

SELECT NOW();

输出:

+---------------------+
| NOW() |
+---------------------+
| 2026-07-26 15:30:08 |
+---------------------+
1 row in set (0.00 sec)

3. 查看有哪些数据库

SHOW DATABASES;

输出:

+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)

看懂这个输出:

  • +----+ 围成的表格就是查询结果,最后一行 4 rows in set (0.01 sec) 表示"共 4 行结果,耗时 0.01 秒"
  • 这 4 个库是 MySQL 自带的系统数据库,存放 MySQL 自身运行所需的信息,新手不要动它们,看看就好
  • 我们以后创建的数据库也会出现在这个列表里

能顺利跑出以上三条命令,说明你的 MySQL 环境已经完全就绪!

四、SQL 书写基本规则

趁热打铁,记住几条 SQL 的"交通规则":

  • 以分号 ; 结尾:分号表示"这条语句说完了,请执行"。如果回车后没反应、提示符变成了 ->,说明 MySQL 还在等你说完——补一个 ; 回车即可。
  • 关键字大小写不敏感SELECT NOW();select now();Select Now(); 效果完全相同。惯例是关键字大写、其他内容小写(如 SELECT * FROM students;),可读性最好,本教程遵循这一风格。
  • 可以换行书写:一条长 SQL 可以拆成多行输入,MySQL 只认分号,遇到分号才执行。
  • 字符串用引号包裹:以后写到具体数据时,文本内容要用单引号,如 '张三'
  • 写错了怎么办:还没回车就用退格键改;已经另起一行了可以输入 \c 取消当前语句重来。

五、图形化客户端工具

命令行虽然本质,但看大量数据时并不直观。图形化工具把数据库、表、数据用可视化界面呈现出来,点几下鼠标就能浏览和编辑。常见的有:

1. MySQL Workbench

MySQL 官方出品,免费。功能全面,包含 SQL 编辑器、表设计器、数据建模等。界面为英文,风格偏工程师向,官方 Installer 可以顺带安装。

2. Navicat

老牌商业软件,界面精美、中文友好、操作最傻瓜化,深受国内开发者喜爱。缺点是收费(有 14 天试用期)。

3. DBeaver

免费开源,支持 MySQL、PostgreSQL、Oracle 等几乎所有数据库,一个工具通吃。社区版功能对新手完全够用,是"白嫖党"的最佳选择。

4. VS Code 插件

如果你已经在用 VS Code 写代码,可以装 MySQL Shell for VS CodeDatabase Client 等插件,在编辑器里直接连数据库、跑 SQL,不用切换软件,轻量方便。

新手怎么选?

建议采用 "命令行 + 一个图形化工具" 的组合:

  • 学习 SQL 语法时优先用命令行:亲手敲每一条语句,才能真正记住语法、理解原理,面试和登录服务器时也离不开它
  • 浏览数据、检查结果时用图形化工具:直观省力
  • 图形化工具推荐:预算充足或公司已购买就用 Navicat;想要免费的选 DBeaver 或官方 Workbench

各工具的连接配置本质相同:填写主机(localhost)、端口(3306)、用户名(root)、密码——正是命令行 -h -P -u -p 四个参数对应的信息。理解了命令行连接,图形化工具的连接配置你自然也就会填了。

⚠️ 新手常见坑

  • 输入密码时以为键盘失灵Enter password: 后输入的内容不会显示(连星号都没有),正常输入完回车即可。
  • 语句没写分号,提示符变成 -> 就慌了:这不是报错,是 MySQL 在等你说完,补个 ; 回车即可;想放弃这条语句就输入 \c
  • -P-p 分不清:大写 -P 是端口,小写 -p 是密码,命令行参数区分大小写。
  • 报错 Access denied for user 'root'@'localhost':密码输错了,重新连接再输一次;反复失败就参考上一节的重置密码方法。
  • 报错 Can't connect to MySQL server:MySQL 服务没启动,先去启动服务(Windows:net start mysql80)。
  • 手痒去改系统数据库mysqlsys 等系统库是 MySQL 的"内脏",删改可能导致整个 MySQL 瘫痪。

📝 小结

  • 连接命令:mysql -h 主机 -P 端口 -u 用户名 -p,连本机可简写为 mysql -u root -p
  • 连接成功出现 mysql> 提示符;exitquit 退出
  • 三条体验命令:SELECT VERSION(); 查版本、SELECT NOW(); 查时间、SHOW DATABASES; 列出所有数据库
  • SQL 规则:分号结尾、关键字大小写不敏感(惯例大写)、可换行书写
  • 图形化工具:Workbench(官方免费)、Navicat(收费好用)、DBeaver(免费全能)、VS Code 插件(轻量);推荐"命令行 + 一个图形工具"搭配学习

到这里,"入门准备"部分就全部完成了:你已经理解了数据库是什么、装好了 MySQL、也成功连上并执行了第一批 SQL。下一章我们将创建自己的第一个数据库,正式开始 SQL 之旅!

✍️ 练习题

1. 写出连接本机 MySQL 的最简命令,并说明其中每个参数的含义。

参考答案

mysql -u root -p。其中 -u root 指定以 root 用户登录;-p 表示需要输入密码(回车后单独输入)。因为连的是本机默认端口,-h localhost-P 3306 使用了默认值,可以省略。

2. 如果 MySQL 装在另一台 IP 为 192.168.1.100 的电脑上,端口改成了 3307,连接命令该怎么写?

参考答案

mysql -h 192.168.1.100 -P 3307 -u root -p。注意端口用大写 -P,密码用小写 -p

3. 在 mysql> 提示符下输入 select now() 后回车,提示符变成了 ->,这是怎么回事?该怎么办?

参考答案

这不是错误。SQL 语句必须以分号 ; 结尾,没输分号时 MySQL 认为语句还没说完,用 -> 提示你继续输入。此时补输入 ; 并回车即可执行;如果想放弃这条语句,输入 \c 取消。

4. 判断对错:SELECT VERSION();select version(); 执行结果不同,因为 SQL 区分大小写。

参考答案

错。SQL 关键字和函数名大小写不敏感,两条语句效果完全相同。不过业界惯例是关键字大写以增强可读性。(注意:命令行的连接参数如 -p/-P 是区分大小写的,别和 SQL 语句混淆。)

5. 全新安装的 MySQL 执行 SHOW DATABASES; 会看到哪几个数据库?我们可以随意修改它们吗?

参考答案

会看到 4 个系统自带数据库:information_schemamysqlperformance_schemasys。它们存放 MySQL 自身运行所需的元数据和配置信息,不能随意修改或删除,否则可能导致 MySQL 无法正常工作。


⬅ 上一节 | 🏠 返回目录 | 下一节 ➡