MySQL查看和修改时区的方法

今天发现有一个程序插入的时间不对,而该字段是配置的默认值 CURRENT_TIMESTAMP,初步判断是数据库的时区设置问题。

查看时区

登录数据库查看时区配置:

mysql> show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | EDT |
| time_zone  | SYSTEM |
+------------------+--------+
2 rows in set (0.00 sec)
  • system_time_zone 表示系统使用的时区是 EDT即北美的东部夏令时(-4h)。
  • time_zone 表示 MySQL 采用的是系统的时区。也就是说,如果在连接时没有设置时区信息,就会采用这个时区配置。

修改时区

修改时区的办法如下:

# 仅修改当前会话的时区,停止会话失效
set time_zone = '+8:00';

# 修改全局的时区配置
set global time_zone = '+8:00';
flush privileges;

当然,也可以通过修改配置文件(my.cnf)的方式来实现配置,不过需要重启服务。

# vim /etc/my.cnf ##在[mysqld]区域中加上
default-time_zone = '+8:00'
# /etc/init.d/mysqld restart ##重启mysql使新时区生效

话说,跟中国不一样的是,美国有4个时区...

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。

(0)

相关推荐

  • 有关 PHP 和 MySQL 时区的一点总结

    PHP 脚本端的市区设置可以在 php.ini 下设置 date.timezone 键的值为 'Asia/Shanghai' 即可.但是通常共享虚拟主机本身没有修改 php.ini 权限.这个时候就应该在程序公共部分加入 ini_set('date.timezone','Asia/Shanghai');动态修改 php.ini 的设置.之后可以测试一下时间是否正确: var_dump(date());如果服务器的本地时间是正确的,那么一般就能解决问题了.附,PHP 5.1 以上提供了专门的函数修

  • 详解MySQL查询时区分字符串中字母大小写的方法

    如果你在mysql有唯一约束的列上插入两行值'A'和'a',Mysql会认为它是相同的,而在oracle中就不会.就是mysql默认的字段值不区分大小写?这点是比较令人头痛的事.直接使用客户端用sql查询数据库. 发现的确是大小不敏感 . 通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: case sensitive collation,区分大小写 *

  • MySQL timestamp的类型与时区实例详解

     MySQL timestamp的类型与时区 MySQL的timestamp类型时间范围between '1970-01-01 00:00:01' and '2038-01-19 03:14:07',超出这个范围则值记录为'0000-00-00 00:00:00',该类型的一个重要特点就是保存的时间与时区密切相关,上述所说的时间范围是UTC(Universal Time Coordinated)标准,指的是经度0度上的标准时间,我国日常生活中时区以首都北京所处的东半球第8区为基准,统一使用东8区

  • mysql时区问题

    用convert_tz转换时区,你可以用      show   variables   like   'time_zone';      得到时区,如果返回的是"system"的话,你可以用      show   variables   like   'system_time_zone';      得到结果.

  • MySQL修改时区的方法小结

    本文实例总结了MySQL修改时区的方法.分享给大家供大家参考,具体如下: 说明:这里总结记录修改mysql时区的三种方法. 方法一:通过mysql命令行模式下动态修改 1.1 查看mysql当前时间,当前时区 > select curtime(); #或select now()也可以 +-----------+ | curtime() | +-----------+ | 15:18:10 | +-----------+ > show variables like "%time_zon

  • mysql中url时区的陷阱该如何规避详解

    前言 最近在使用mysql的6.0.x以上的jar的时候,需要在代码url的链接里面指定serverTimezone.就会出现异常: 1.未指定serverTimezone xml里面配置url <property name="url" value="jdbc:mysql://localhost:3306/mybatisstudy"/> 出现的异常 Caused by: com.mysql.cj.core.exceptions.InvalidConnec

  • MySQL查看和修改时区的方法

    今天发现有一个程序插入的时间不对,而该字段是配置的默认值 CURRENT_TIMESTAMP,初步判断是数据库的时区设置问题. 查看时区 登录数据库查看时区配置: mysql> show variables like '%time_zone%'; +------------------+--------+ | Variable_name | Value | +------------------+--------+ | system_time_zone | EDT | | time_zone |

  • MySQL查看与修改字符集的方法实例教程

    一.查看字符集 1.查看MYSQL数据库服务器和数据库字符集 方法一:show variables like '%character%'; 方法二:show variables like 'collation%'; mysql> show variables like '%character%'; +--------------------------+--------------------------------------+ | Variable_name | Value | +-----

  • MySQL查看和修改字符编码的实现方法

    MySQL的默认编码是Latin1,不支持中文,要支持中午需要把数据库的默认编码修改为gbk或者utf8. 1.需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为: >show variables like 'character%'; +--------------------------+----------------------------+ | Variab

  • MySQL查看与修改当前数据库编码的方法

    MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码. 查看当前数据库编码的SQL语句为: mysql> use xxx Database changed mysql> show variables like 'character_set_database'; +------------------------+--------+ | Variable_name          | Value  | +--------------

  • MySQL查询和修改auto_increment的方法

    本文实例讲述了MySQL查询和修改auto_increment的方法.分享给大家供大家参考.具体如下: 查询表名为tableName的auto_increment值: 复制代码 代码如下: SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name="tableName"; 修改表名为tableName的auto_increment值: 复制代码 代码如下: ALTER TABLE tableName au

  • MySQL查看和修改事务隔离级别的实例讲解

    查看事务隔离级别 在 MySQL 中,可以通过show variables like '%tx_isolation%'或select @@tx_isolation;语句来查看当前事务隔离级别. 查看当前事务隔离级别的 SQL 语句和运行结果如下: mysql> show variables like '%tx_isolation%'; +---------------+-----------------+ | Variable_name | Value | +---------------+--

  • Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)

    首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin 目录下执行如下语句.不然无效 2.继续在命令行运行:mysqld-nt --skip-grant-tables 3.新开一个命令行运行:mysql -u root   (如果没有配置mysql的bin环境变量的话需要切换到bin目录下执行此语句) 如果不想改密码,只是想看原来的密码的话.可以在命令

  • MySQL配置文件无法修改的解决方法(Win10)

    帮别人解决的问题,记录一下. 问题描述 MySQL的版本是5.7,操作系统是window10.MySQL安装在 C:\Program Files 下.最近需要在MySQL安装目录下的 my-default.ini 配置文件里面加上一个新的配置项: max_allowed_packet=100M 编辑文件后保存,总是无法保存,提示"拒绝访问". 后来停止 MySQL 的服务,依然无法保存修改. 再后来把my-default.ini 复制到D盘,修改后保存.删除 C:\Program Fi

  • MySQL 账号密码错误终极解决方法

    目录 前言 解法一:进入 MySQL 安全模式,无密码登录 解法二:初始化 MySQL Tips 查看 service 服务项目配置所在位置 指定端口号登陆 MySQL 查看和修改 MySQL 端口号 前言 MySQL 版本:v8.0.27 准备工作: MySQL 环境变量配置无误,可直接在命令行运行 mysql.mysqld 等服务 解法一:进入 MySQL 安全模式,无密码登录 第一步:停止 mysql 服务 第二步:以管理员权限运行命令行 mysqld --console --skip-g

随机推荐