mysql - 如何使用 xampp 在 ubuntu 中填充 mysql 数据库中的区域表

标签 mysql ubuntu xampp

我正在尝试根据此文档导入时区:http://dev.mysql.com/doc/refman/5.7/en/mysql-tzinfo-to-sql.html .

当我尝试通过终端输入第一个命令时,即

mysql_tzinfo_to_sql tz_dir

它说

There were fatal errors during processing of zoneinfo directory 'tz_dir'

当我运行时:

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

然后返回

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

操作系统:Ubuntu

服务器: XAMPP(有 mariadb)

因此,我无法将时区数据导入到 mysql 数据库的时区表中。

最佳答案

我今天早上在我们的生产服务器(使用 CentOS)上尝试填充时区表时也遇到了这个问题。

我通过从我的开发计算机导出表创建脚本解决了这个问题(在 Windows 上填充表只需要下载表并将它们复制到正确的目录中)。

我稍微调整了创建脚本,它现在对我有用了:

由于脚本太长,我无法将其发布到我的答案中。

https://drive.google.com/file/d/0B7iwL5F-hwr_YkItRXk2Z1VZdlE/view?usp=sharing

这里有一个带注释的版本(但是好像不行,所以用不带注释的版本)

https://drive.google.com/file/d/0B7iwL5F-hwr_dWdjTDREcXNHQmM/view?usp=sharing

脚本的运行时间应该不会超过几秒钟。您可能需要使用 root 用户才能运行它。

您可以使用此查询来验证安装:

SELECT CONVERT_TZ(CURRENT_DATE(),'UTC','America/Montreal');

如果它返回 NULL 而不是 datetime,则表示脚本失败。

成功了

关于mysql - 如何使用 xampp 在 ubuntu 中填充 mysql 数据库中的区域表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51154996/

相关文章:

MySQL JOIN 语句 - 同一个表中的引用字段

bash - 更改屏幕分辨率并运行程序的脚本?

php - 如何从 Ionic 移动应用程序连接到 mysql?

sql - 比较2张表,发现不存在 "id"

mysql - 如何缩短在之间使用的sql case查询

Mysql - 按两列排序,但有一个条件

Apache vhost 总是在不同的子域上显示相同的内容

php - 如何允许 www-data apache 用户使用 mkdir() php 函数?

php - PHP 中的 SQL 查询

php - 使用 session 时在 xampp 上可能导致 ERR_CONNECTION_RESET 错误的原因