1

может кто-нибудь объяснить mysql 5.5 обработку репликации между двумя серверами .MySQL: временные метки повторяются непоследовательно в зависимости от локального часового пояса сервера?

Это структура одного из моих таблиц.

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 столбцов и мой Двоичный формат STATEMENT BASED REPLICATION

Когда я INSERT INTO kot (kot_no, emp_id, created_date) VALUES (1, 1, NOW()) выполнения на сервере А эти результаты на двух серверах.

на сервер А

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 в базе данных и единственный эффект МестноеВремя бы для отображения целей? Может ли кто-нибудь пролить свет на то, что здесь происходит, и сказать мне решение для этого, не влияя на данные сервера?

ответ

1

Проблема 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

+0

Благодарим вас за ответ. но оба временного часового сервера задаются как 'SYSTEM', которые я только что выполнил' SELECT NOW() ', и оба часовых пояса сервера точно такие же. – Hiran

+0

может оба сервера ** SELECT NOW() ** показывают то же самое время? ??? –

+0

да, моя местная зона - UTC + 05: 30 – Hiran