ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DBeaver 连接 MySQL 完整排错教程

DBeaver 连接 MySQL 完整排错教程 DBeaver 连接 MySQL 完整排错教程数据库教程DBeaver 连接 MySQL 完整排错教程从「连不上」到「成功插入数据」5 个典型报错逐一击破本文记录了一个新手从零配置 DBeaver MySQL 数据库环境的完整过程。适合刚接触 Spring Boot MySQL 项目、卡在数据库配置环节的同学。全文共踩了5 个坑每个都给出了根因和一句话解决方案。装好 Workbench报错1Connection refused报错2服务名无效报错3Public Key报错4Unknown DB成功✓ 数据图 1排错全景路线图 —— 5 个报错依次解决后成功一、背景学习项目需要用到springbootdb数据库里面放一张city表。目标 SQL 如下-- 1. 创建数据库 CREATE DATABASE springbootdb;– 2. 创建表DROP TABLE IF EXISTScity;CREATE TABLEcity(idint(10) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘城市编号’,province_idint(10) unsigned NOT NULL COMMENT ‘省份编号’,city_namevarchar(25) DEFAULT NULL COMMENT ‘城市名称’,descriptionvarchar(25) DEFAULT NULL COMMENT ‘描述’,PRIMARY KEY (id)) ENGINEInnoDB AUTO_INCREMENT1 DEFAULT CHARSETutf8;– 3. 插入数据INSERT city VALUES (1, 1, ‘西安市’, ‘马优晨的家在西安市长安区’);INSERT city VALUES (2, 2, ‘泉州市’, ‘张望的家在泉州市’);DBeaver客户端 GUIJDBCMySQL Server服务 mysqldspringbootdb数据库city 表① 你装好的② 最初缺的③ 最终目标图 2环境关系图 —— 三个层次缺了中间的服务层就全断了二、坑 1Connection 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.1MB2Download → 点 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端口保持3306Authentication Method选第一个强密码加密推荐Accounts and Roles设置Root 密码记住DBeaver 要用Windows Service勾选 Configure Windows Service Start at System Startup四、坑 3Public Key Retrieval is not allowed公钥问题报错Public Key Retrieval is not allowed原因MySQL 8.0 默认用caching_sha2_password认证JDBC 驱动默认不允许自动获取服务器公钥。解决方案把连接 URL 改成jdbc:mysql://localhost:3306/springbootdb?allowPublicKeyRetrievaltrueuseSSLfalse注意本地客户端下拉框要选MySQL Binaries不要选 MariaDB Binaries。改完点测试连接这次成功了五、坑 4Unknown database springbootdb数据库不存在报错Unknown database springbootdb原因公钥问题解决了但springbootdb这个库还没创建。解决方案先连服务器再建库。步骤操作1编辑连接把Database栏的 springbootdb 删掉留空2点测试连接 → 成功3打开 SQL 编辑器执行CREATE DATABASE springbootdb;4刷新左侧列表看到 springbootdb5重新编辑连接把库名填回 springbootdb六、坑 5Table springbootdb.city doesnt exist表不存在报错Table springbootdb.city doesnt exist原因只选中 INSERT 那一行执行但city表还没建。MySQL 只执行你选中的部分。解决方案在 SQL 编辑器按CtrlA全选所有 SQL再按CtrlEnter一次性执行。✅ 全部搞定最终 city 表里的数据idprovince_idcity_namedescription11西安市马优晨的家在西安市长安区22泉州市张望的家在泉州市七、查看数据和刷新在哪里看表 springbootdb localhost:3306 └── 数据库 └── springbootdb └── 表 └── city ← 双击查看数据方法操作快捷键F5最方便工具栏点 刷新按钮右键数据区域右键 → 刷新重新查询执行 SELECT * FROM city八、DBeaver 常用快捷键快捷键功能F5刷新数据CtrlEnter执行选中的 SQLAltX执行全部 SQLCtrlShiftEnter解释执行计划九、总结报错根因解决一句话Connection refused服务没启动安装并启动 MySQL Server服务名无效只装客户端没装 Server用 Installer 的 Add 安装 ServerPublic Key RetrievalMySQL 8.0 认证方式URL 加 ?allowPublicKeyRetrievaltrueuseSSLfalseUnknown database库没创建先清空库名连服务器再 CREATE DATABASETable doesnt exist表没建就插入CtrlA 全选 SQL 一起执行整个环境配置完成后就可以在 Spring Boot 项目的application.yml里配置数据源连接这个springbootdb数据库了。如有问题欢迎留言交流。DBeaver 连接 MySQL 完整排错教程 · 原创整理转载请注明出处
返回列表