2 つのサーバー間のレプリケーションの mysql 5.5 の処理を説明できる人はいますか。
これは私のテーブルの 1 つの構造です。
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 形式はSTATEMENT BASED REPLICATION
INSERT INTO kot (kot_no, emp_id, created_date) VALUES (1, 1, NOW())
サーバー A で実行している場合、これらは 2 つのサーバーでの結果です。
サーバー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 の唯一の効果は表示目的であると想定していましたか? ここで何が起こっているのかを明らかにし、サーバーデータに影響を与えずに解決策を教えてもらえますか?