mysql数据库时间怎么修改成东京时间

mysql数据库时间怎么修改成东京时间,第1张

东京的时区是东九区,比我们北京东八区多1个时区,所以+9就是东京时间

那我们怎么修改,有两种方法,一种是临时的,一种是长久的。

一:通过sql命令临时修改

# 设置全局时区 mysql>set global time_zone = '+8:00'

Query OK, 0 rows affected (0.00 sec)

# 设置时区为东八区 mysql>set time_zone = '+8:00'

Query OK, 0 rows affected (0.00 sec)

# 刷新权限使设置立即生效 mysql>flush privileges

Query OK, 0 rows affected (0.00 sec)

mysql>show variables like '%time_zone%'

+------------------+--------+

| Variable_name | Value |

+------------------+--------+

| system_time_zone | EST |

| time_zone | +08:00 |

+------------------+--------+

2 rows in set (0.00 sec)

二:修改my.cnf实现永久修改

vi /etc/mysql/my.cnf

然后在mysqld下边的配置中添加一行:

default-time_zone = '+8:00'

然后重启mysql

service mysql restart

通过以下参数来进行时区设置:

1. an absolute offset--绝对偏移量 例: alter session set time_zone = '-05:00'

2. database time zone--数据库时区 例:alter session set time_zone = dbtimezone 这是数据库默认的时区

3. os local time zone-- *** 作系统本地时区 例:alter session set time_zone = local 获得系统本地时区

4. a named region--直接用名字指定时区 例:alter session set time_zone = 'america/new_york'

1。在mysql的命令模式下使用

mysql >select CURTIME()

mysql >select now()

看当前时间是否正确,可以看到mysql当前使用的是那一个时区的时间。

2。在mysql命令行中更改时区

mysql >SET time_zone = '+8:00' # 此为北京时,我们所在东8区

mysql>flush privileges # 立即生效

此时mysql时区已更改正确,与系统时区都使用为 Shanghai时间了。

#### 这种方法好像只能在终端上使用,退出终端后时间又会变成原来的,看来只能重启mysql了。

3。重启mysql也应没有问题,此时mysql会主动读取系统时间。

方法二:

如果mysql数据库可以重启,直接重启,mysql应可以立即主动读取系统时间,如果不行则更改mysql的配置文件(mysql.cnf)

在my.cnf的 [mysqld]区域中加上

default-time_zone = '+8:00' #此为北京时。

补充:

如果想临时解决时间显示问题,可以用php或其他语言动态修改下mysql的时区。

具体方法:

在mysql_connect()下使用mysql_query("SET time_zone = '+8:00'")。

这样可以在保证你不重启的情况下改变时区。但是mysql的某些系统函数还是不能用如:now()。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9419840.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存