Обновление apt-get всегда завершается ошибкой на mariadb-сервере из-за часового пояса

MariaDB 10.1.3, ядро ​​3.19.3, Debian

Проблема: обновление apt-get всегда завершается сбоем из-за проблемы с часовым поясом mariadb-сервера.

my.cnf содержит

[mysqld]
default_time_zone=America/New_York

Я также импортировал tzinfo:

# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

Когда я вручную останавливаю/запускаю службу, проблем нет:

# service mysql restart
[ ok ] Stopping MariaDB database server: mysqld.
[ ok ] Starting MariaDB database server: mysqld ..
[info] Checking for corrupt, not cleanly closed and upgrade needing tables..

Однако каждый раз, когда я запускаю обновление apt-get, оно всегда терпит неудачу на mariadb-сервере:

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]?
Setting up mariadb-server-10.1 (10.1.3+maria-1~wheezy) ...
[ ok ] Stopping MariaDB database server: mysqld.
dpkg: error processing mariadb-server-10.1 (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mariadb-server:
 mariadb-server depends on mariadb-server-10.1 (= 10.1.3+maria-1~wheezy); however:
  Package mariadb-server-10.1 is not configured yet.

dpkg: error processing mariadb-server (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 mariadb-server-10.1
 mariadb-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Ошибка:

# tail /var/log/syslog
mysqld_safe[32269]: [ERROR] Fatal error: Illegal or unknown default time zone 'America/New_York'

Это происходит на нескольких серверах и очень раздражает. Могли бы воспользоваться вашей помощью. Кстати, это не версия MariaDB, так как эта ошибка сохраняется в течение нескольких лет в нескольких версиях.

РЕДАКТИРОВАТЬ, ЧТОБЫ ДОБАВИТЬ: я забыл упомянуть, что если я удалю параметр default_time_zone из my.cnf, обновление apt-get действительно сработает. Только при наличии этого параметра происходит сбой обновления apt-get. Он должен присутствовать для моей конфигурации.

РЕДАКТИРОВАТЬ 2: Чтобы обеспечить ясность, даже после удаления default_time_zone, затем успешного обновления apt-get, затем добавления обратно default_time_zone и перезапуска - будущие обновления mariadb-* не будут выполняться через apt. В процессе обновления apt-get есть что-то особенное, что не соответствует нормальному запуску службы.


person ctrlbrk    schedule 10.04.2015    source источник
comment
Какая версия mysql/mariadb существовала раньше? Вы запускали mysql_upgrade?   -  person Rick James    schedule 10.04.2015
comment
эта ошибка сохраняется в течение нескольких лет в нескольких версиях. Я запустил mysql_upgrade для вас: эта установка MySQL уже обновлена ​​до 10.1.3-MariaDB.   -  person ctrlbrk    schedule 10.04.2015
comment
Это действительный часовой пояс. Пакет tzdata установлен на сервере?   -  person Matt Johnson-Pint    schedule 10.04.2015
comment
Да, он установлен. Я хочу повторить, что mysql запускается и отлично работает вручную, проблема связана только с обновлением apt-get.   -  person ctrlbrk    schedule 10.04.2015


Ответы (2)


Была такая же проблема. Вот что сработало для меня:

sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /var/lib/mysql
sudo apt-get install mariadb-server

Сделайте резервную копию папки /var/lib/mysql, так как все данные будут удалены.

person Milan    schedule 18.11.2015
comment
Это работает только до следующего обновления в моем опыте - person ctrlbrk; 18.11.2015
comment
Не уверен, что это не будет работать в следующем обновлении. Я вчера обновился с Марии 5.5 до 10.1 без проблем - person Milan; 19.11.2015

Возможно, ответ таков: «Процедура установки MySQL создает таблицы часовых поясов в базе данных mysql, но не загружает их. Вы должны сделать это вручную, используя следующие инструкции...»

См. страницу руководства.

Вы также можете отправить отчет об ошибке установки.

person Rick James    schedule 10.04.2015
comment
Упс, мой ответ бесполезен. - person Rick James; 10.04.2015