MySQL时区

2024-05-09 16:32
文章标签 mysql 时区 database

本文主要是介绍MySQL时区,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MySQL时区

  • GMT和UTC
  • 查看操作系统时区
  • MySQL中与时区相关的变量
  • 查看时区配置
  • MySQL时区的几种表示方式

GMT和UTC

  • GMT:Greenwich Mean Time 格林尼治标准时间。这是以英国格林尼治天文台观测结果得出的时间,这是英国格林尼治当地时间,这个地方的当地时间过去被当成世界标准的时间。

  • UT:Universal Time 世界时。根据原子钟计算出来的时间。

  • UTC:Coordinated Universal Time 协调世界时。因为地球自转越来越慢,每年都会比前一年多出零点几秒,每隔几年协调世界时组织都会给世界时+1秒,让基于原子钟的世界时和基于天文学(人类感知)的格林尼治标准时间相差不至于太大。并将得到的时间称为UTC,这是现在使用的世界标准时间。

协调世界时不与任何地区位置相关,也不代表此刻某地的时间,所以在说明某地时间时要加上时区也就是说GMT并不等于UTC,而是等于UTC+0,只是格林尼治刚好在0时区上。

GMT = UTC+0

此段属摘抄
原作者:杨赟

查看操作系统时区

  • linux:

    sh-4.2$ date -R
    Thu, 24 Jun 2021 15:54:44 +0800
    
  • windows:
    设置-》时间和语言-》日期和时间-》时区

MySQL中与时区相关的变量

MySQL Server中有好几个与时区相关的变量

  • MySQL Server系统时区
    Mysql Server启动时根据主机的时区确定一个时区,保存到system_time_zone系统变量中,启动之后无法更改。

  • MySQL Server当前时区
    表示当前在使用的时区,初始值是是‘SYSTEM’,说明引用了系统时区。
    可以在启动时通过–default-time-zone指定,或者配置文件中使用

    default-time-zone='timezone'
    

    来指定。
    如果有SUPER权限,还可以通过以下命令在运行时修改

    SET GLOBAL time_zone = timezone;
    
  • 每个session的时区
    每个客户端连接后都有自己的会话时区(session time zone),保存在会话的time_zone变量中,初始值是全局时区(GLOBAL time_zone)的值,客户端可以通过如下语句随时修改:

    SET time_zone = timezone;
    

查看时区配置

  • 通过如下语句查看MySQL SERVER系统时区:

    mysql> SELECT * FROM `performance_schema`.`global_variables` WHERE VARIABLE_NAME = 'system_time_zone';
    +------------------+----------------+
    | VARIABLE_NAME    | VARIABLE_VALUE |
    +------------------+----------------+
    | system_time_zone | UTC            |
    +------------------+----------------+
    1 row in set (0.01 sec)
    
  • 通过如下语句查看当前时区和会话时区

    mysql> SELECT @@GLOBAL.time_zone, @@SESSION.time_zone;
    +--------------------+---------------------+
    | @@GLOBAL.time_zone | @@SESSION.time_zone |
    +--------------------+---------------------+
    | SYSTEM             | SYSTEM              |
    +--------------------+---------------------+
    1 row in set (0.00 sec)
    

MySQL时区的几种表示方式

  • ‘SYSTEM’
    表示引用了系统时区(system_time_zone)

  • UTC偏移量表示
    表示和相对UTC偏移的值
    格式为:[H]H:MM
    ‘-00:00’ or ‘-0:00’ 会被转化成 ‘+00:00’
    取值范围是 ‘-12:59’ to ‘+13:00’

  • 已命名的时区
    比如’Asia/Shanghai’,‘Europe/Helsinki’, ‘US/Eastern’, ‘MET’, 或者 ‘UTC’
    可选择的时区可通过如下语句查看:

    SELECT * FROM `mysql`.`time_zone_name`;
    
    mysql> SELECT * FROM `mysql`.`time_zone_name` limit 10;
    +--------------------+--------------+
    | Name               | Time_zone_id |
    +--------------------+--------------+
    | Africa/Abidjan     |            1 |
    | Africa/Accra       |            2 |
    | Africa/Addis_Ababa |            3 |
    | Africa/Algiers     |            4 |
    | Africa/Asmara      |            5 |
    | Africa/Asmera      |            6 |
    | Africa/Bamako      |            7 |
    | Africa/Bangui      |            8 |
    | Africa/Banjul      |            9 |
    | Africa/Bissau      |           10 |
    +--------------------+--------------+
    10 rows in set (0.00 sec)
    

完整的MySQL日期时间函数大全参考我的这篇文章:MySQL日期时间函数完全参考

这篇关于MySQL时区的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973906

相关文章

IDEA +maven git tomcat database数据库 调试 插件 log4j Spring junit

前言 idea优化配置、常规配置、配置maven、git、tomcat、database数据库、调试配置、插件配置、log4j配置、Spring配置等等,稍后一一更新! 优化配置(#item1 “item1”) 打开文件 :“idea – > bin – >idea64.exe.vmoptions” -Xms: 初始内存;-Xmx : 最大内存;-ReservedCodeCache

SQL的插入语句insert

插入数据分为以下几种方式: 1. 插入完整的行; 2. 插入行的一部分 3. 插入某些查询的结果 4. 从一个表复制到另一个表 1. 插入完整的行,有两种方式:    INSERT  INTO  Customers  VALUES ();                                   // 缺点:高度依赖表中列的定义次序,不能保证各列在下一次表

SQL中的limit

1.  select  prod_name  from  products  limit  5;    指示Mysql等DBMS返回不超过5行的数据 2.  select  prod_name  from  products  limit  5  offset  5;指示 Mysql等DBMS返回从第5行起的5行数据。  第一个数字是 检索的行数,第二个数字是指从哪里开始。 3.

dpkg: status database area is locked by another process 解决方法

解决办法:sudo rm -rf /var/lib/dpkg/lock 或者:rm -rf /var/lib/dpkg/lock

SpringBoot 学习四:macOS安装MySQL 以及报错解决

从MySQL官网下载Mysql,在本地安装好之后,用数据库连接工具Sequl Pro去连接数据库,发现报错了,报错信息有两种: Error1:Unable to connect to host 127.0.0.1 because access was denied.Double-check your username and password and ensure that access fro

Centos Mysql定时自动备份

一、备份准备&备份测试 1、备份目录准备 #mysql专用目录mkdir /mysql#mysql备份目录mkdir /mysql/backup#mysql备份脚本mkdir /mysql/backup/scripts#mysql备份文件mkdir /mysql/backup/files#mysql备份日志mkdir /mysql/backup/logs 2、备份脚本准备

Mysqldump 备份mysql数据库

1、mysqldump 安装 yum -y install mysql-client    / apt-get install mysql-client 2、使用mysqldump导出固定条件的数据库 (1)导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql (

docker之mysql连接 Authentication plugin ‘caching_sha2_password‘ cannot be loaded

1  1.docker exec -it mysql01(镜像别名) bash  3 // 进入mysql命令行  4   5  2.mysql -uroot -p 密码       6   7   // 修改加密规则 设置新密码  8   9  3.ALTER USER '账号'@'用户域' IDENTIFIED WITH mysql_native_password BY '新密码';   10

Sql Server 对用户权限的授予:Grant、拒绝Deny、收回Revoke

你是否有遇到这种问题: 1.程序出错:PermissionDineDateAccessExcetion 2.Cause: com.microsoft.sqlserver.jdbc.SQLServerException:拒绝了对象”user”的select.insert权限 1.对表增删改查授权 对用户授权,允许其具有对数据表user的更新和删除的操作权限: GRANT UPDATE,DE