IDEA 连接 MySQL 数据库保姆级教程

🎯 写在前面

还在为 IDEA 连不上数据库而抓狂?

还在用命令行 mysql -u root -p 苦哈哈地查数据?

还在 Navicat 和 IDEA 之间来回切换?

STOP! 今天这篇保姆级教程,带你一次性打通 IDEA 内置数据库工具的任督二脉。学会之后,你可以在 IDEA 里直接:写 SQL、查数据、改表结构、可视化 ER 图 ------再也不用切出 IDE!

💡 本文价值:覆盖 90% 新手会踩的坑,附带真实截图,看完就能上手。


📋 前置准备

在开始之前,请确保以下环境已就绪:

检查项 要求 验证命令
MySQL 服务 已启动 net start mysql (Win) / sudo systemctl start mysql (Linux)
IDEA 版本 2020.3+(推荐 2023.x) Help → About
数据库用户 知道用户名和密码 ---
端口 默认 3306,未被占用 netstat -ano | findstr 3306

⚠️ 重要:如果 MySQL 服务没启动,后面所有操作都是白搭!


🚀 第一步:确认 MySQL 服务已启动

Windows 用户

Win + R,输入 cmd 打开命令行,执行:

bash 复制代码
# 进入 MySQL 的 bin 目录(根据你的安装路径调整)
cd D:\mysql-8.0.29-winx64\bin
d:
​
# 登录 MySQL
mysql -u root -p

输入密码后,看到 mysql> 提示符,说明服务已启动:

💡 小贴士 :如果提示 "mysql" 不是内部或外部命令,说明环境变量没配好。要么配环境变量,要么每次都 cd 到 bin 目录执行。

Linux / Mac 用户

bash 复制代码
# 启动服务
sudo systemctl start mysql
​
# 验证
mysql -u root -p

🔌 第二步:在 IDEA 中打开 Database 工具窗口

这是整个教程的核心入口,很多人找不到在哪!

方法一:右侧边栏(推荐)

在 IDEA 右侧边栏,找到 Database 图标(一个圆柱体 🛢️),点击打开:

方法二:顶部菜单

复制代码
View → Tool Windows → Database

方法三:快捷键

复制代码
Alt + 8  (Windows/Linux)
Cmd + 8  (Mac)

➕ 第三步:添加 MySQL 数据源

打开 Database 面板后,点击左上角的 + 号:

复制代码
+ → Data Source → MySQL

🎉 恭喜! 你已经打开了连接配置窗口,接下来是填参数环节。


⚙️ 第四步:填写连接参数(核心!)

打开配置窗口后,你会看到如下界面:

参数填写说明

字段 填写内容 示例
Name 连接名称(自定义) MySQL - test@localhost
Host 数据库地址 localhost(本地)或 192.168.x.x(远程)
Port 端口号 3306(默认)
User 用户名 root
Password 密码 你的密码
Database 默认数据库(可选) test 或留空

💡 Database 字段:可以先不填,连接成功后再选择。如果填了不存在的库名,可能会报错。


🔧 第五步:配置 JDBC 驱动(避坑重点!)

很多人连不上,问题就出在这里!

5.1 检查驱动版本

在连接配置窗口左侧,点击 Drivers → 找到 MySQL

你会看到 Driver files 区域显示的驱动版本:

5.2 驱动版本匹配规则

MySQL 服务器版本 推荐驱动版本 说明
MySQL 5.7 com.mysql.jdbc.Driver 稳定兼容
MySQL 8.0 com.mysql.cj.jdbc.Driver 必须 8.0+

⚠️ 大坑预警:如果你用的是 MySQL 8.0,但 IDEA 默认加载了 5.1 的驱动,连接时会报认证错误!

5.3 如何更换驱动版本

  1. Driver files 区域,点击驱动版本号(如 MySQL Connector/J 5.1.47

  2. 选择 Download 下载对应版本

  3. 或者点击 + 手动添加本地 jar 包


✅ 第六步:测试连接

参数填好后,点击下方的 Test Connection 按钮:

情况一:连接成功 🎉

看到绿色对勾 ✓,显示类似以下信息:

复制代码
DBMS: MySQL (ver. 8.0.29)
Case sensitivity: plain=lower, delimited=lower
Driver: MySQL Connector/J (ver. mysql-connector-java-8.0.21)
Ping: 22 ms
SSL: yes

🎊 太棒了! 点击 OK 保存连接,你已经成功了一大半!


🐛 第七步:常见问题排查(必看!)

❌ 问题 1:Server returns invalid timezone

报错信息

复制代码
Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.

原因 :MySQL 时区设置是 SYSTEM,而系统时区 IDEA 识别不了。

解决方法(二选一):

方案 A:在 IDEA 中设置(推荐)

  1. 在连接配置窗口,切换到 Advanced 标签页

  2. 找到 serverTimezone

  3. 值填写 Asia/Shanghai

方案 B:在 MySQL 中永久修改

sql 复制代码
-- 查看当前时区
SHOW VARIABLES LIKE '%time_zone%';
​
-- 修改时区为东八区
SET GLOBAL time_zone = '+8:00';
SET time_zone = '+8:00';
​
-- 永久生效(修改 my.cnf / my.ini)
[mysqld]
default-time-zone = '+8:00'

❌ 问题 2:Access denied for user 'root'@'localhost'

原因:用户名或密码错误。

解决

  • 检查密码是否正确(注意大小写)

  • 确认用户是否有权限:SELECT user, host FROM mysql.user;


原因

  1. MySQL 服务没启动

  2. 端口被占用或防火墙拦截

  3. 远程服务器未开放 3306 端口

解决

bash 复制代码
# Windows 检查服务
net start | findstr MySQL

# 检查端口
netstat -ano | findstr 3306

# Linux 检查服务
sudo systemctl status mysql

❌ 问题 4:Public Key Retrieval is not allowed

原因:MySQL 8.0 的认证插件问题。

解决 : 在 Advanced 标签页,添加属性:

复制代码
allowPublicKeyRetrieval = true

❌ 问题 5:SSL connection error

解决 : 在 Advanced 标签页,添加属性:

复制代码
useSSL = false

或在 General 标签页点击 Advanced 展开,取消勾选 Use SSL


🎨 第八步:连接成功后的高级玩法

8.1 查看数据库结构

连接成功后,Database 面板会展示所有数据库和表:

  • 双击表名 → 查看表数据

  • 右键表名 → Modify Table → 修改表结构

  • 右键表名 → Diagrams → 查看 ER 图

8.2 打开 SQL 控制台

复制代码
右键数据库 → New → Query Console

或者直接点击工具栏的 Console 按钮:

8.3 执行 SQL 并查看结果

在 Console 中输入 SQL,按 Ctrl + Enter 执行:

🚀 强大功能

  • 自动补全(表名、字段名)

  • 语法高亮和错误提示

  • 结果集支持筛选、排序、导出 CSV

  • 多结果集分页展示

8.4 选择要显示的数据库(Schema)

如果连接了多个数据库,可以切换当前 Schema:

8.5 给数据源设置颜色标签

右键数据源 → Set Color,给不同环境(开发/测试/生产)设置不同颜色,避免误操作:


💎 第九步:IDEA 数据库工具的隐藏神技

🎯 神技 1:代码中直接写 SQL

在 Java 代码的字符串中写 SQL,IDEA 会自动识别并给出语法提示:

复制代码
String sql = "SELECT * FROM user WHERE id = ?";  // 有 SQL 高亮和补全!

🎯 神技 2:一键生成实体类

右键表名 → Scripted ExtensionsGenerate POJOs,自动生成 Java 实体类!

🎯 神技 3:数据对比

选中两个表 → 右键 → Compare,可视化对比表结构和数据差异。

🎯 神技 4:导入/导出数据

右键表名 → Import Data / Export Data,支持 CSV、JSON、SQL 等多种格式。


📌 完整配置速查表

场景 配置位置
时区错误 Advanced → serverTimezone Asia/Shanghai
SSL 错误 Advanced → useSSL false
公钥问题 Advanced → allowPublicKeyRetrieval true
字符集 Advanced → characterEncoding UTF-8
自动重连 Advanced → autoReconnect true
连接超时 Advanced → connectTimeout 30000

🎓 总结

通过本文,你已经学会了:

  1. ✅ 确认 MySQL 服务状态

  2. ✅ 在 IDEA 中打开 Database 工具窗口

  3. ✅ 添加 MySQL 数据源并填写参数

  4. ✅ 配置正确的 JDBC 驱动版本

  5. ✅ 解决 5 大常见连接错误

  6. ✅ 使用 SQL 控制台执行查询

  7. ✅ IDEA 数据库工具的隐藏神技

💬 最后的话:IDEA 的数据库工具真的被低估了。它不仅能替代 Navicat/DBeaver 的大部分功能,还能和代码无缝集成。学会用它,你的开发效率至少提升 30%!

如有疑问,欢迎在评论区留言交流!

如果本文对你有帮助,请点赞 + 收藏 + 关注,你的支持是我持续输出的动力!

相关推荐
mpHH1 小时前
postgresql plancache
数据库·postgresql
Fan1 小时前
MySQL / PostgreSQL DDL 审核自动化:从人工 review 到 CI 拦截
mysql
倔强的石头_1 小时前
云原生环境下的存储弹性与自动化:表空间目录动态挂载与冷热分层实践
数据库
漫随流水2 小时前
创建一个IDEA的Java项目
java·ide·intellij-idea
无限进步_2 小时前
【C++】从红黑树到 map 和 set:封装设计与迭代器实现
开发语言·数据结构·数据库·c++·windows·github·visual studio
橙子圆1232 小时前
Redis知识2
java·数据库·redis
过期动态2 小时前
【RabbitMQ基础篇】RabbitMQ从入门到实战
java·jvm·数据库·分布式·spring·rabbitmq·intellij-idea
MandalaO_O2 小时前
MySQL:数据库约束
数据库·mysql