To jest błąd w plikach stref czasowych dla Riyadh* w Debianie:
http://bugs.mysql.com/bug.php?id=20545
Zalecanym obejściem jest po prostu zignorowanie ostrzeżenia (oczywiście, jeśli nie potrzebujesz tej strefy czasowej):
mysql_tzinfo_to_sql /usr/share/lib/zoneinfo | mysql -uroot --force mysql
Po zaimportowaniu danych TZ za pomocą --force
opcja, będziesz mógł użyć CONVERT_TZ
. Oto transkrypcja tego, co właśnie zrobiłem:
sh$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot -p mysql --force 2> /dev/null
Enter password: ********
sh$ mysql -p
Enter password: ********
Server version: 5.1.49-3 (Debian)
mysql> select convert_tz(now(), 'UTC', 'CET');
+---------------------------------+
| convert_tz(now(), 'UTC', 'CET') |
+---------------------------------+
| 2013-08-13 21:04:34 |
+---------------------------------+
1 row in set (0.00 sec)