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