Сообщение об ошибке
There were fatal errors during processing of zoneinfo directory 'tz_dir'
означает, что каталог не может быть прочитан (недостаточно прав доступа или даже не существует).
Зная, что программа mysql_tzinfo_to_sql
- это просто инструмент, который преобразует кучу файлов часового пояса в сценарий SQL, который вы можете использовать для установки часовых поясов для mysql, ваша задача такова:
Эти шаги могут выполняться на разных компьютерах, если вы передаете файлы между ними. Например, я установил часовые пояса на компьютере, где установка mysql не была завершена, т. Е. mysql_tzinfo_to_sql
недоступен, и я также не смог установить его.
В таком случае вы можете объединить следующие шаги:
mysql_tzinfo_to_sql
недоступен на компьютере, где находится ваша база данных mysql, затем найдите компьютер, на котором mysql_tzinfo_to_sql
уже установлен zoneinfo
доступной на этом компьютере. Это всего лишь куча файлов в разных папках, поэтому вы можете переносить их в gzip-файл с одного компьютера на другой. В обычной установке mysql эта папка должна существовать, но, может быть, ваша установка не завершена, а просто получить ее из любой точки. mysql_tzinfo_to_sql
для создания SQL-скрипта следующим образом: mysql_tzinfo_to_sql path-to-your-zoneinfo-folder >install_mysql_zoneinfo.sql
mysql --user=root --password=abc123 mysql <install_mysql_zoneinfo.sql
Отрегулируйте имя пользователя и если необходимо, и ваш скрипт будет выполнен. Это заполнит таблицы, связанные с часовым поясом, с соответствующими значениями, и вы сможете их использовать:
SELECT convert_tz(NOW(),'UTC','Australia/Melbourne');
-h <hostname>
в последующую программу выполнения скриптов, и вам не придется копировать сценарий SQL на целевую машину.