eclipse通过JDBC连接远程服务器MySQL数据库

1.刚开始自己没有使用JAVAEE的eclipse去连接MySQL,结果死活连接不上,驱动根本无法加载,后来使用JAVAEE的eclipse才可以。

JDBC架包(mysql8.0版):

链接:https://pan.baidu.com/s/1pLxqPKKYXjez1e6LT_fwUQ 
提取码:cns1 
 

2.直接上代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Demo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
          

        try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://数据库IP地址(本地为localhost):port/库名?useSSL=false&serverTimezone=GMT", "账号", "密码");
            System.out.println(conn);            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}

这里需要注意MySQL8.0和低版本不同的地方:DB_DRIVER要写com.mysql.cj.jdbc.Driver,并且DB_URL后面要加上useSSL和serverTimezone

3.关于  ?useSSL=false&serverTimezone=GMT  这行代码:

3.1:如果不适用serverTimezone=GMT,会报以下错误:

  • 原因:服务器时区值“????±××?±?无法识别或代表一个以上的时区。如果希望利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值。出现这个的原因是因为 mysql返回的时间总是有问题,比实际时间要早8小时。
  • 解决方案:在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区

3.2、如果不适用useSSL=false,会报以下错误:

  • 但是这并不影响你的操作
  • 原因:不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45+,如果未设置显式选项,则默认情况下必须建立5.6.26+和5.7.6+要求的SSL连接。为了符合不使用SSL的现有应用程序,verifyServerCertificate属性设置为“false”。您需要通过设置useSSL=false来显式禁用SSL,或者设置useSSL=true并提供用于服务器证书验证的信任库(测试学习阶段我们没必要搞那么复杂)。
  • 解决方案:所以只要在url后面添加useSSL=false语句即可。
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值