Time Zone UTC

Проблема: Дамп MySQL (MariaDB) видає час полів timestamp для TIME_ZONE='+00:00'

Для прикладу, є така табличка:

CREATE TABLE `test` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `name` varchar(20) NOT NULL DEFAULT '',
  `dt` datetime NOT NULL DEFAULT '2000-01-01 10:00:00',
  `upd` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE
current_timestamp()
) ENGINE=MyISAM

Вносимо дані:

INSERT INTO test (name, dt) VALUES ('Peter',NOW());
INSERT INTO test (name, dt) VALUES ('Alex',NOW());

Перевіряємо:

select * from test;
| id | name  | dt                  | upd                 |
|  1 | Peter | 2023-04-14 11:36:42 | 2023-04-14 11:36:42 |
|  2 | Alex  | 2023-04-14 11:38:05 | 2023-04-14 11:38:05 |

Все ОК.

Робимо mysqldump, отримуємо:

Час в полі timestamp - на 3 години менший. Це створює певні проблеми в роботі...

Виправляємо:

(створюємо файл, якщо нема) і додаємо в нього:

Перевіряємо, зробивши новий дамп - все ОК. З дампу пропали рядки про time_zone /* ... TIME_ZONE= ... */;, а час колонок timestamp - той самий, що і записаний в базі.

Last updated