You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint 21下Java应用连接本地MySQL遇驱动未找到错误求助

解决Java连接MySQL时"No suitable driver found"的问题

检查驱动加载与模块化配置

  • MySQL 8.0+ 不再需要手动调用Class.forName("com.mysql.cj.jdbc.Driver"),但如果代码里写了旧驱动类名com.mysql.jdbc.Driver,必须替换为新的com.mysql.cj.jdbc.Driver。
  • 若使用Java 9+模块化项目,需在module-info.java中添加:
    requires mysql.connector.j;
    

确认驱动包实际生效

  • IDE环境:检查项目依赖配置,确保驱动jar包无红叉、已正确关联到当前模块(Eclipse看Build Path -> Libraries;IDEA看Project Structure -> Libraries)。
  • 命令行编译运行:必须通过-cp参数指定驱动包路径,示例:
    javac -cp .:/path/to/mysql-connector-j-8.1.0.jar YourApp.java
    java -cp .:/path/to/mysql-connector-j-8.1.0.jar YourApp
    
    注意不要遗漏当前目录(.),否则JVM找不到你的应用类文件。

验证MySQL服务与连接权限

  • 检查MySQL服务状态:
    systemctl status mysql
    
    未运行则执行systemctl start mysql启动服务。
  • 确认本地连接权限:登录MySQL后执行
    SELECT user, host FROM mysql.user;
    
    确保存在可访问mydb库的用户,且其host为localhost或%(允许远程连接)。
  • 验证端口监听:
    netstat -tulpn | grep 3306
    
    确认3306端口处于监听状态,若端口修改过,需同步调整JDBC URL中的端口号。

修正JDBC URL细节

  • MySQL 8.0+ URL需指定时区,避免时区兼容问题,示例:
    String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
    
  • 检查URL拼写:确认localhost、端口号、库名mydb无错误,可通过MySQL客户端执行SHOW DATABASES;验证mydb是否存在。

排查驱动包冲突

  • 卸载系统级debian驱动包,避免与项目本地jar包冲突:
    sudo apt remove mysql-connector-j
    
    仅保留项目中添加的平台独立版驱动jar包,重新测试连接。

内容的提问来源于stack exchange,提问作者Talete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:48:16