MySQL:时间戳复制不一致取决于服务器的本地时区?
MySQL : Timestamps replicating inconsistently depending on local timezone of server?
任何人都可以解释一下 mysql 5.5 处理两个之间的复制
服务器。
这是我的一个结构table。
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'
在我的数据库中,每个 table 都有最后 5 列,我的二进制日志格式是 STATEMENT BASED REPLICATION
当我在服务器 A 上执行 INSERT INTO kot (kot_no, emp_id, created_date) VALUES (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 格式存储在
数据库和本地时间的唯一作用是显示
目的?任何人都可以阐明这里发生的事情并告诉我解决方案而不影响服务器数据吗?
问题是 MySQL timezone
在两个服务器中是不同的
为此查询检查您的时区:-
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
More details
任何人都可以解释一下 mysql 5.5 处理两个之间的复制 服务器。
这是我的一个结构table。
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'
在我的数据库中,每个 table 都有最后 5 列,我的二进制日志格式是 STATEMENT BASED REPLICATION
当我在服务器 A 上执行 INSERT INTO kot (kot_no, emp_id, created_date) VALUES (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 格式存储在 数据库和本地时间的唯一作用是显示 目的?任何人都可以阐明这里发生的事情并告诉我解决方案而不影响服务器数据吗?
问题是 MySQL timezone
在两个服务器中是不同的
为此查询检查您的时区:-
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
More details