我从DigitalOcean购买了新的托管MYSQL数据库。现在我无法更改全局时区。当我尝试更改时,会出现错误并提示没有权限。
* 我正在使用Spring Boot项目。
有解决方法吗?
我从DigitalOcean购买了新的托管MYSQL数据库。现在我无法更改全局时区。当我尝试更改时,会出现错误并提示没有权限。
* 我正在使用Spring Boot项目。
有解决方法吗?
但从SQL或DigitalOcean的仪表板上更改它的方式是不可能的。
在创建连接时有一种方法。主用户也没有root权限来更改全局变量,所以我们只有一个选择。唯一能做的就是操作会话(session)。
创建连接时,您可以设置SESSION时区。
如果您正在使用Spring Boot和Hikari(池),我将提供配置。要做到这一点,我们可以使用connection-init-sql
。
spring.datasource.hikari.connection-init-sql=SET SESSION time_zone='Asia/Colombo'
现在您的会话时区将按照您的要求设置。
或者您可以通过连接URL传递时区[serverTimezone],如下所示:
jdbc:mysql://localhost:3006?serverTimezone=Asia/Colombo
CONVERT_TZ() 函数
。 - Akina