您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    MySQL 异常有这一篇就够了!(2)
    时间:2021-03-03 21:07 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8"></property> 

    五、为什么数据库中写入数据相差 8 个小时? 5.1、错误产生描画

    Java 数据库衔接运用 UTC 时区(世界标准时间),即 serverTimezone=UTC,而北京时间比 UTC 时间早8小时,即 UTC+08:00,假设我们直接运用 serverTimezone=UTC,写入数据库中的数据会提早 8 个小时。假设按照如下配置就会在数据库中写入数据相差 8 个小时:

    <!-- 数据库衔接字符串 --> 

    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/demo?serverTimezone=UTC&characterEncoding=utf-8"></property> 

    5.2、处置方式

    我们可以修正设置 serverTimezone 为北京时间 GMT%2B8、上海时间 Asia/Shanghai 或许香港时间 Hongkong。

    配置文件如下即可:

    <!-- 数据库衔接字符串 --> 

    <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8"></property> 

    另内在 MySQL 中的 my.ini 配置文件也可以修正,此文章仅用于处置相应成绩,故不多做详细描画。

    六、SSL 衔接成绩 6.1、错误产生描画

    报错如下:

    Sun Oct 14 00:45:30 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification. 

    错误阐明:不建议在没有效劳器身份验证的状况下树立 SSL 衔接。依据 MySQL 5.5.45+,5.6.26+ 和 5.7.6+ 的 SSL 衔接要求,假设未设置衔接方式,则默许状况下必须树立 SSL 衔接。关于不运用 SSL 的现有运用顺序,效劳器的验证证书属性设置为“false”。您需求经过设置useSSL = false来显式禁用 SSL,或许设置useSSL = true并提供效劳器的验证证书。

    6.2、处置方式

    数据库 URL 衔接地址添加useSSL = false,适用于测试。

    数据库 URL 衔接地址添加useSSL = true,并且提供效劳器的验证证书。

    配置文件如下即可:

    <!-- 数据库衔接字符串 --> 

    property name="jdbcUrl" value="jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf-8"></property> 

    总结

    经过关于 MySQL 抛出异常的几种常见处置方式的总结,加深关于 MySQL 底层的了解。只需是干开发,错误是不断地,要擅长总结。同时,要充沛掌握开发的底层原理,不同的版本迭代作为开发者要及时了解,不然永远跟不上技术的开展。

    【编辑引荐】

    php系列课程四之实战案例文章发布系统(稳固php基础知识以及mysql数据库)

    【四二学堂】Java入门-系列游戏开发-弹球

    软件开发必会的设备知识扫描枪扫码辨认解析视频课程

    MySQL 数据库零基础入门-实战课程(涵盖 SQL 注入及如何避免)

    你做过代码 Review 吗?

    (责任编辑:admin)