繁体   English   中英

由于时区,apt-get升级在mariadb服务器上始终失败

[英]apt-get upgrade always fails on mariadb-server due to timezone

MariaDB 10.1.3,内核3.19.3,Debian

问题:由于mariadb-server时区问题,apt-get升级总是失败。

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 upgrade时,它总是在mariadb-server上失败:

# 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版本,因为此错误在多个版本中都持续了几年。

编辑添加:我忘了提一下,如果我从my.cnf中删除default_time_zone参数,apt-get升级确实可以工作。 仅当存在该参数时,apt-get升级才会失败。 对于我的配置,它必须存在。

编辑2:为确保清晰度,即使删除了default_time_zone,然后成功执行apt-get升级,然后又添加回default_time_zone并重新启动-将来的mariadb- *升级将通过apt失败。 在apt-get升级过程中,该过程有一些与正常服务启动不一致的内容。

有同样的问题。 这对我有用:

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文件夹,因为其中的所有数据将被删除

答案可能是“ MySQL安装过程会在mysql数据库中创建时区表,但不会加载它们。您必须按照以下说明手动进行操作...”

请参见手册页

您也可以选择提交有关安装错误的错误报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM