Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:根据服务器的本地时区不一致地复制时间戳?_Mysql_Replication_Timestamp With Timezone_Sql Timestamp - Fatal编程技术网

MySQL:根据服务器的本地时区不一致地复制时间戳?

MySQL:根据服务器的本地时区不一致地复制时间戳?,mysql,replication,timestamp-with-timezone,sql-timestamp,Mysql,Replication,Timestamp With Timezone,Sql Timestamp,有人能解释一下mysql 5.5在两个数据库之间处理复制的过程吗 服务器 这是我的一张桌子的结构 id int(10) unsigned NOT NULL PRIMARY KEY DEFAULT 'NULL' AUTO_INCREMENT kot_no varchar(45) NOT NULL DEFAULT 'NULL' emp_id int(10) unsigned NOT NULL FOREIGN KEY DEFAULT '0' description varchar(45) NULL D

有人能解释一下mysql 5.5在两个数据库之间处理复制的过程吗 服务器

这是我的一张桌子的结构

id int(10) unsigned NOT NULL PRIMARY KEY DEFAULT 'NULL' AUTO_INCREMENT
kot_no varchar(45) NOT NULL DEFAULT 'NULL'
emp_id int(10) unsigned NOT NULL FOREIGN KEY DEFAULT '0'
description varchar(45) NULL DEFAULT 'NULL'
created_date timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
created_by int(10) unsigned NOT NULL DEFAULT '0'
modified_date timestamp NOT NULL DEFAULT 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'
modified_by int(10) unsigned NULL DEFAULT '0'
state tinyint(1) unsigned NOT NULL DEFAULT '1'
在我的数据库中,每个表都有最后5列,我的binlog格式是基于语句的复制

在服务器A上执行
INSERT INTO kot(kot\u no,emp\u id,created\u date)值(1,1,NOW())
时,这是两台服务器上的结果

在服务器A上

id  kot_no  emp_id  description  created_date         created_by  modified_date        modified_by  state
1   1       1       null         2015-11-01 22:51:57  0           2015-11-01 22:51:57  0            1
在服务器B上

id  kot_no  emp_id  description  created_date         created_by  modified_date        modified_by  state
1   1       1       null         2015-11-02 12:21:57  0           2015-11-02 12:21:57  0            1
我天真地认为日期总是以UTC格式存储在数据库中 数据库和localtime的唯一作用是显示
目的?有谁能告诉我这里发生了什么,并告诉我解决方案,而不影响服务器数据吗?

问题是
MySQL时区在这两个服务器中都不同

检查此查询的时区:-

SELECT @@global.time_zone;
或者您可以这样设置时区:-

SET GLOBAL time_zone = '+8:00';//your timezone 
SET GLOBAL time_zone = 'Europe/Helsinki';////your timezone 
SET @@global.time_zone='+00:00';////your timezone 

谢谢您的回答。但是两台服务器的时区都设置为
SYSTEM
我刚刚执行了
SELECT NOW()
,两台服务器的时区完全相同。是的,我的本地时区是UTC+05:30我想你需要在两台服务器中都更改MySQL时区是的,你说得对。它解决了我的问题。太谢谢你了