如何修改mysql 时区 为system

如何修改mysql 时区 为system,第1张

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()。

这是一句设置MySQL服务器时区的语句。具体情况可以参考下面解释(来源于手册):MySQL服务器有几个时区设置:· 系统时区。服务器启动时便试图确定主机的时区,用它来设置system_time_zone系统变量。· 服务器当前的时区。全局系统变量time_zone表示服务器当前使用的时区。初使值为'SYSTEM',说明服务器时区与系统时区相同。可以用--default-time-zone=timez选项显式指定初使值。如果你有SUPER 权限,可以用下面的语句在运行时设置全局变量值:·mysql>SET GLOBAL time_zone = timezone· 每个连接的时区。每个客户端连接有自己的时区设置,用会话time_zone变量给出。其初使值与全局变量time_zone相同,但可以用下面的语句重设:·mysql>SET time_zone = timezone可以用下面的方法查询当前的全局变量值和每个连接的时区:mysql>SELECT @@global.time_zone, @@session.time_zonetimezone值为字符串,表示UTC的偏移量,例如'+10:00'或'-6:00'。如果已经创建并装入mysql数据库中的时区相关表,你还可以使用命名的时区,例如'Europe/Helsinki'、'US/Eastern'或'MET'。值'SYSTEM'说明该时区应与系统时区相同。时区名对大小写不敏感。

datetime是跟时区无关的,而timestamp是与时区有关的,所以php mysql的时间戳用应该是timestamp。

PHP 语法:

1、PHP 脚本可放置于文档中的任何位置,PHP 脚本以 <?php 开头,以 ?>结尾:<?php// 此处是 PHP 代码?>PHP 文件的默认文件扩展名是 ".php",PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码;

2、PHP 代码中的注释不会被作为程序来读取和执行。它唯一的作用是供代码编辑者阅读。注释用于:使其他人理解您正在做的工作 - 注释可以让其他程序员了解您在每个步骤进行的工作。提醒自己做过什么 - 大多数程序员都曾经历过一两年后对项目进行返工,然后不得不重新考虑他们做过的事情。注释可以记录您在写代码时的思路。


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

原文地址: http://outofmemory.cn/zaji/6103680.html

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

发表评论

登录后才能评论

评论列表(0条)

保存