MariaDB在初始启动期间挂起,而mysql_tzinfo_至_sql 正在运行由于问题而挂起。
我通过设置mysql_tzinfo_to_sql
env禁用了MYSQL_INITDB_SKIP_TZINFO
。等于1。
之后,我手动运行:
mysql_tzinfo_to_sql /usr/share/zoneinfo | sed 's/Local time zone must be set--see zic manual page/FCTY/' | mysql -uuser -ppass --database=mysql
如果设置MariaDB集群,则需要12分钟,脚本会导致MariaDB错误日志中的错误。
我想知道在mysql_tzinfo_to_sql
安装期间运行MariaDB的目的是什么,以及禁用它的后果。
找到这链接:
MySQL为开发人员提供了丰富的日期和时间函数集。其中一个函数是CONVERT_TZ,它将日期时间值从一个时区转换为另一个时区。该函数可以使用系统数据库中名为mysql的时区信息表中的“MET”或“欧洲/莫斯科”等命名时区。只有在创建和填充mysql系统数据库中的时区信息表时,才能使用命名时区。MySQL安装过程在mysql数据库中创建时区表,但不使用数据加载它们。您需要手动加载这些时区表的数据。
它确实回答了这个问题。
但是,我仍然不完全理解禁用填充mysql时区时区系统表的实际意义。
为什么时区系统表在初始的MariaDB启动过程中会花费这么长的时间?
发布于 2019-12-17 16:51:12
手册非常清楚:加载的TZs启用了与TZ相关的功能。例如,在加载了TZs之后,您可以根据客户端的TZ自动转换结果的日期时间,或者根据闰秒或节省时间等计算FROM_UNIXTIME()。
https://dba.stackexchange.com/questions/255813
复制相似问题