关于时区
在两个点设置,第一数据库地址配置
root:*******@tcp(192.168.7.*:3306)/ht_go_v2_dev?charset=utf8&loc=Local
//加入 loc=Local,注意有个大写字母
另外还需要再程序内配置orm
orm.DefaultTimeLoc = time.UTC
重新打包发现就OK了
关于连接和超时设置
[mysql] 2021/11/23 11:38:32 packets.go:37: read tcp 127.0.0.1:54490->127.0.0.1:3306: wsarecv: An established connection was aborted by the software in your host machine.
在开发中经常看到这个问题,尝试过很多次始终没有解决最后参考文档逐步排查:
首先看两组设置参数
连接数设置
#go语言配置
SetMaxOpenConns 用于设置最大打开的连接数,默认值为0表示不限制。
SetMaxIdleConns 用于设置闲置的连接数
SetConnMaxLifetime 设置本地连接资源的过期时间,必需要小于mysql配置文件内wait_timeout
SetConnMaxIdleTime 设置闲置连接存活时间
超时设置
#配置项 my.ini
interactive_timeout针对交互式连接,
wait_timeout针对非交互式连接
一般建议SetConnMaxLifetime <= wait_timeout/2