JDBC连接MySQLa数据库时区问题:Thie server atime zonge valuue '�йi���xʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC drive
一、问题截图
二、解决方法
方法一:
在getConnection获取数据库连接对象中加入
?serverTimezone=GMT%2B8
如:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root");
添加后:
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT%2B8", "root", "root");
运行即可。
方法二:
(1)## 标题Ctrl+R输入cmd打开命令,输入mysql -u root -p连接数据库;
(2)select now(); 查询当前数据库时间
(3)show variables like “%time_zone%”; 查看当前时区,若之前没修改过一般time_zone显示为uSYSTEM;
(4)set global time_zone="+8:00"; 修改当前时区为东八区(需关闭命令窗口重新cmd进入数据库查看当前时区才能看到更新)
运行效果:
这样就不用每次都要修改连接数据库的url地址;
方法三:(推荐)
第二种方法重启电脑后会回复默认时区,需要再次修改
为此,我们直接在MySQL的配置文件中修改my.ini配置设置
1.一般情况下ProgramData文件夹是隐藏起来的
2.找到my.ini文件
3.修改时区,注意不要漏 #配置时区
#配置时区
default-time_zone='+8:00'
4.重启电脑,进入数据库查看当前时区是否为东八区;
5.若出现无法进入数据库
则启动服务