MySQL服务器时区错误,为何MySQL Shell中执行时区设置命令报错?
MySQL Shell执行时区设置命令报错原因
- 你当前处于MySQL Shell的JavaScript交互模式,提示符中的
JS标识就是模式提示,该模式下默认只支持执行JavaScript语法代码,不能直接输入原生SQL语句运行,因此会抛出JavaScript语法解析错误SyntaxError: Unexpected identifier。 - 要正常执行该SQL语句,有两种可行方案:
- 方案1:先切换到SQL交互模式
- 在当前
MySQL JS >提示符后输入\sql回车,切换成功后提示符会变为MySQL SQL > - 直接执行目标SQL即可:
SET GLOBAL time_zone = '+3:00';
- 在当前
- 方案2:在JS模式下调用内置方法执行SQL
直接运行以下代码即可:session.runSql("SET GLOBAL time_zone = '+3:00';");
- 方案1:先切换到SQL交互模式
额外说明:修改
GLOBAL级别的时区配置需要当前登录用户拥有SYSTEM_VARIABLES_ADMIN权限,修改完成后仅对新建立的连接生效,已有连接需要重新连接才能应用新配置;如果需要重启MySQL后配置仍然生效,需要修改MySQL配置文件(Linux为my.cnf、Windows为my.ini)中的default-time-zone = '+3:00'参数,重启服务后生效。
内容的提问来源于stack exchange,提问作者Andrii Pinskyi
相关产品推荐
相关产品推荐

