数据库连接url后缀太长了

在学习项目开发中,经常提示数据库报错,可能是时区错误,可能是编码错误, 查到的解决办法都是加入后缀信息。不知不觉就变成了​b.url=jdbc:mysql://localhost:3306/test\_mybatis?characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false&nullCatalogMeansCurrent=true。​这样的后缀也太长了,迁移到服务器,这样的后缀不一定正好符合服务器的mysql数据库吧。

是要统一对数据库进行时区设置,还是就是要使用常常的后缀。


java
mysql
后端
2023-03-28 12:45:44
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Syrupup

MySQL服务器配置参数在不同版本上默认值是不一样的,有些参数还依赖于操作系统。

如果你的应用使用配置值有别于你使用的MySQL服务器的默认值,最好还是明确在url中指出。这样可以重载服务器的配置,明确应用的需求。但如果配置的值也是服务器的默认值,则没有必要。

如果你自己维护数据,同时对数据库服务器配置有明确的规范,也可以不指定特定的参数,如字符集,时区等等,缺点是代码不便移植了。

上面用到的:

characterEncoding=utf-8  # 默认值是 'autodetect'
serverTimezone=GMT+8
useSSL=false
nullCatalogMeansCurrent=true

这几个参数在最新版的MySQL服务器默认值并不一致,所在最好还是明确指定。

注:

nullCatalogMeansCurrent 从 3.1.8 起默认为 true, 从 8.0 起默认为 false。

useSSL 默认为false, 但 MySQL 5.5.45+, 5.6.26+ 或 5.7.6+ 以上版本默认为 true.

分享
微博
QQ
微信
回复
2023-03-28 14:10:44
相关问题
如何连接PolarDB数据库集群 ?
2217浏览 • 1回复 待解决
angular框架能否直接连接mysql数据库
1204浏览 • 1回复 待解决
VS2015 C#连接MySQL数据库
344浏览 • 1回复 待解决
数据库连接池是线程安全的吗?
497浏览 • 1回复 待解决
jar包部署的项目数据库连接问题?
1455浏览 • 1回复 待解决
OrmDatabase 数据库问题
1752浏览 • 1回复 待解决
多个数据库,同步数据
493浏览 • 1回复 待解决
数据中台数据库选择问题
459浏览 • 1回复 待解决
PolarDB 数据库结构是什么?
1229浏览 • 1回复 待解决
用户查询消息数据库设计
1087浏览 • 1回复 待解决
RDS如何查看数据库名称?
840浏览 • 1回复 待解决
MongoDB哪个命令可以切换数据库
2630浏览 • 1回复 待解决