Mac环境下Java连接MySQL遇“找不到合适驱动”报错求助
解决JDBC连接MySQL时"No suitable driver found"的问题
这个错误我之前在Mac上用JDBC连MySQL也碰到过,结合你的代码来看,主要是这几个地方出了问题,一个个来排查:
1. 最常见的原因:MySQL JDBC驱动没加入项目
你得先确保MySQL的JDBC驱动已经被添加到你的项目依赖里:
- 如果是Maven/Gradle项目,直接在构建文件里添加对应依赖(比如Maven的pom.xml):
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.33</version> <!-- 选和你MySQL版本匹配的,比如MySQL 8.x就用8.x的驱动 --> </dependency> - 如果是普通Java项目,去MySQL官网下载对应版本的驱动jar包,放到项目的
lib目录,然后把它添加到项目的类路径中(IDEA里可以右键jar包选"Add as Library")。
2. 连接字符串的主机名写错了
你的连接字符串里写的是local:3306,这不对,本地MySQL的主机名应该是localhost或者127.0.0.1。另外MySQL 8.0+版本建议加上时区参数,避免时区报错,修改后的连接字符串应该是这样:
private static final String CONN_STRING = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
3. (可选)显式加载JDBC驱动类
虽然JDBC 4.0之后支持自动加载驱动,但有些环境下可能还是需要显式加载。你可以在DriverManager.getConnection()之前加上这行代码:
// MySQL 8.0+用这个驱动类,5.x版本是com.mysql.jdbc.Driver Class.forName("com.mysql.cj.jdbc.Driver");
按这个顺序排查,先确认驱动是否正确引入,再修正连接字符串,应该就能成功连接上了。
内容的提问来源于stack exchange,提问作者Olivier Maxwell
相关产品推荐
相关产品推荐

