Java连接MySQL需两步:先安装并启动MySQL服务(Windows用Installer、macOS用Homebrew、Linux用apt),再创建数据库与专用用户;然后在Java项目中引入mysql-connector-j驱动(Maven或手动添加JAR),最后通过JDBC URL(含serverTimezone等参数)连接测试。

Java 本身不“安装” MySQL,而是需要在系统中安装 MySQL 数据库服务,并在 Java 项目中通过 JDBC 驱动连接它。关键分两步:本地装好 MySQL 服务(含创建数据库、用户),再在 Java 项目里引入驱动、写代码连上去。
一、安装并启动 MySQL 服务
根据操作系统选择安装方式:
- Windows:下载 MySQL Installer(如 mysql-installer-community-8.0.x.msi),运行后选“Developer Default”,按向导安装,过程中会提示设置 root 密码,记牢;安装完确保 MySQL Service 已启动(可在“服务”管理器中查看)。
-
macOS:推荐用 Homebrew:
brew install mysql,然后执行brew services start mysql启动服务。 -
Linux(Ubuntu/Debian):执行
sudo apt update && sudo apt install mysql-server,启动服务:sudo systemctl start mysql,首次可运行sudo mysql_secure_installation加固配置。
安装完成后,用命令行验证:mysql -u root -p,输入密码能进入 MySQL 提示符即成功。
二、创建数据库和专用用户(推荐)
不要长期用 root 连接 Java 应用。登录 MySQL 后执行:
立即学习“Java免费学习笔记(深入)”;
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'javauser'@'localhost' IDENTIFIED BY 'StrongPass123!'; GRANT ALL PRIVILEGES ON myapp.* TO 'javauser'@'localhost'; FLUSH PRIVILEGES;
这样就建好名为 myapp 的库,并授权用户 javauser 访问它。
三、Java 项目中添加 MySQL JDBC 驱动
MySQL 官方驱动叫 mysql-connector-j(8.0+ 版本),需显式引入:
-
Maven 项目:在
pom.xml中添加依赖:
mysql mysql-connector-j 8.3.0
-
非 Maven 项目:去 MySQL 官网下载 JAR 包(如
mysql-connector-j-8.3.0.jar),放入项目lib目录,并在 IDE 中添加为库(如 IntelliJ:Project Structure → Libraries → + → Java)。
四、Java 中编写连接代码(简单测试)
确保 MySQL 正在运行,且用户有权限。以下是最小可运行示例:
import java.sql.*;public class MySQLTest { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/myapp?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true"; String user = "javauser"; String password = "StrongPass123!";
try (Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement()) { ResultSet rs = stmt.executeQuery("SELECT VERSION()"); if (rs.next()) { System.out.println("MySQL version: " + rs.getString(1)); } } catch (SQLException e) { e.printStackTrace(); } }}
注意 URL 中的参数(如
serverTimezone、allowPublicKeyRetrieval)在 8.0+ 驱动中常需显式指定,否则可能报错。基本上就这些。核心是:MySQL 服务跑起来 + Java 能找到驱动 + 连接参数写对。不复杂但容易忽略权限或时区配置。










