DBeaver 连接 MySQL 完整排错教程
数据库教程
DBeaver 连接 MySQL 完整排错教程
从「连不上」到「成功插入数据」,5 个典型报错逐一击破
本文记录了一个新手从零配置 DBeaver + MySQL 数据库环境的完整过程。适合刚接触 Spring Boot + MySQL 项目、卡在数据库配置环节的同学。全文共踩了 5 个坑,每个都给出了根因和一句话解决方案。
装好 Workbench 报错1 Connection refused 报错2 服务名无效 报错3 Public Key 报错4 Unknown DB 成功 ✓ 数据
图 1:排错全景路线图 ------ 5 个报错依次解决后成功
一、背景
学习项目需要用到 springbootdb 数据库,里面放一张 city 表。目标 SQL 如下:
-- 1. 创建数据库
CREATE DATABASE springbootdb;
-- 2. 创建表
DROP TABLE IF EXISTS city;
CREATE TABLE city (
id int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '城市编号',
province_id int(10) unsigned NOT NULL COMMENT '省份编号',
city_name varchar(25) DEFAULT NULL COMMENT '城市名称',
description varchar(25) DEFAULT NULL COMMENT '描述',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
-- 3. 插入数据
INSERT city VALUES (1, 1, '西安市', '马优晨的家在西安市长安区');
INSERT city VALUES (2, 2, '泉州市', '张望的家在泉州市');
DBeaver 客户端 GUI JDBC MySQL Server 服务 mysqld springbootdb 数据库 city 表 ① 你装好的 ② 最初缺的 ③ 最终目标
图 2:环境关系图 ------ 三个层次,缺了中间的服务层就全断了
二、坑 1:Connection refused(服务根本没启动)
报错
Communications link failure
Connection refused: getsockopt
**原因:**MySQL Server 服务根本没在运行,端口 3306 上没有服务监听。
# 确认服务是否在跑
netstat -an | findstr 3306
sc query state= active | findstr /i "mysql"
**教训:**只装了 MySQL Workbench(图形化工具)≠ 装了 MySQL Server(数据库引擎)。Workbench 只是"遥控器",没有"电视"是遥控不了的。
三、坑 2:没有 MySQL Server(只装了客户端)
执行 mysql --version 能看到版本,但 net start mysql 提示「服务名无效」。看安装目录发现只有客户端 mysql.exe,没有 mysqld.exe(服务器核心)。
下载 Installer 点 Add 组件 选 MySQL Server 配置+启动
图 3:通过 MySQL Installer 的 Add 功能补装 Server
解决方案:用 MySQL Installer 安装 Server
| 步骤 | 操作 |
|---|---|
| 1 | 打开 https://dev.mysql.com/downloads/installer/ ,选 Windows (x86, 32-bit) MSI Installer(约 2.1MB) |
| 2 | Download → 点 "No thanks, just start my download."(免登录) |
| 3 | 双击 .msi 运行,主界面点 Add... |
| 4 | 展开 MySQL Servers → 选 MySQL Server 8.0.x - X64 → 点 ➡️ 加到右侧 |
| 5 | 一路 Next / Execute,等待下载安装 |
关键配置(Configuration):
| 步骤 | 操作 |
|---|---|
| Type and Networking | 端口保持 3306 |
| Authentication Method | 选第一个(强密码加密,推荐) |
| Accounts and Roles | 设置 Root 密码(记住!DBeaver 要用) |
| Windows Service | 勾选 Configure Windows Service + Start at System Startup |
四、坑 3:Public Key Retrieval is not allowed(公钥问题)
报错
Public Key Retrieval is not allowed
原因: MySQL 8.0 默认用 caching_sha2_password 认证,JDBC 驱动默认不允许自动获取服务器公钥。
**解决方案:**把连接 URL 改成:
jdbc:mysql://localhost:3306/springbootdb?allowPublicKeyRetrieval=true&useSSL=false
注意: 本地客户端 下拉框要选 MySQL Binaries,不要选 MariaDB Binaries。改完点测试连接,这次成功了!
五、坑 4:Unknown database 'springbootdb'(数据库不存在)
报错
Unknown database 'springbootdb'
原因: 公钥问题解决了,但 springbootdb 这个库还没创建。
**解决方案:**先连服务器,再建库。
| 步骤 | 操作 |
|---|---|
| 1 | 编辑连接,把 Database 栏的 springbootdb 删掉留空 |
| 2 | 点测试连接 → 成功 |
| 3 | 打开 SQL 编辑器,执行 CREATE DATABASE springbootdb; |
| 4 | 刷新左侧列表,看到 springbootdb |
| 5 | 重新编辑连接,把库名填回 springbootdb |
六、坑 5:Table 'springbootdb.city' doesn't exist(表不存在)
报错
Table 'springbootdb.city' doesn't exist
原因: 只选中 INSERT 那一行执行,但 city 表还没建。MySQL 只执行你选中的部分。
解决方案: 在 SQL 编辑器按 Ctrl+A 全选所有 SQL,再按 Ctrl+Enter 一次性执行。
✅ 全部搞定!
最终 city 表里的数据:
| id | province_id | city_name | description |
|---|---|---|---|
| 1 | 1 | 西安市 | 马优晨的家在西安市长安区 |
| 2 | 2 | 泉州市 | 张望的家在泉州市 |
七、查看数据和刷新
在哪里看表:
📁 springbootdb localhost:3306
└── 📁 数据库
└── 📁 springbootdb
└── 📁 表
└── 📄 city ← 双击查看数据
| 方法 | 操作 |
|---|---|
| 快捷键 | F5(最方便) |
| 工具栏 | 点 🔄 刷新按钮 |
| 右键 | 数据区域右键 → 刷新 |
| 重新查询 | 执行 SELECT * FROM city |
八、DBeaver 常用快捷键
| 快捷键 | 功能 |
|---|---|
| F5 | 刷新数据 |
| Ctrl+Enter | 执行选中的 SQL |
| Alt+X | 执行全部 SQL |
| Ctrl+Shift+Enter | 解释执行计划 |
九、总结
| 报错 | 根因 | 解决一句话 |
|---|---|---|
| Connection refused | 服务没启动 | 安装并启动 MySQL Server |
| 服务名无效 | 只装客户端没装 Server | 用 Installer 的 Add 安装 Server |
| Public Key Retrieval | MySQL 8.0 认证方式 | URL 加 ?allowPublicKeyRetrieval=true&useSSL=false |
| Unknown database | 库没创建 | 先清空库名连服务器,再 CREATE DATABASE |
| Table doesn't exist | 表没建就插入 | Ctrl+A 全选 SQL 一起执行 |
整个环境配置完成后,就可以在 Spring Boot 项目的 application.yml 里配置数据源连接这个 springbootdb 数据库了。如有问题欢迎留言交流。
DBeaver 连接 MySQL 完整排错教程 · 原创整理,转载请注明出处