MySQL mysql_tzinfo_to_sql程序

5 mysql

我在microsoft windows xp上使用MySQL 5.0.51b.我试图加载从时区信息文件中的数据(从下载库生成这里所描述的)到数据库表在这里.

现在我无法找到Windows的" mysql_tzinfo_to_sql "程序.我尝试在mysql命令行客户端上执行它但没有成功.在linux上,您可以直接在shell上执行此命令.

任何帮助表示赞赏.

Fra*_*les 15

您不需要在Windows 上运行mysql_tzinfo_to_sql.

对于Windows,只需这样做:

  1. 下载文件.链接在这里
  2. 将它们移动到MySQL目录.例:C:\ProgramData\MySQL\MySQL Server 5.5\data\mysql
  3. 重启服务器.
  4. 现在,如果您愿意,您可以像这样更改您的时区: SET time_zone = 'America/Costa_Rica';
  5. 检查一下 SELECT NOW();

更多信息: MySQL

看看这个:答案


Dan*_*ras 7

命令“mysql_tzinfo_to_sql”在 Windows 上不起作用。您必须下载包含 SQL 语句的时区包并使用“源”命令填充时区表,如下所示:

mysql> use mysql ;
mysql> source /path/to/file/timezone_posix.sql ;
Run Code Online (Sandbox Code Playgroud)

检查以下链接以供参考:

博客:https : //discourse.looker.com/t/cannot-connect-time-zone-tables-dont-appear-to-be-loaded-in-mysql/208/6

脚本 sql: http://downloads.mysql.com/general/timezone_2016a_posix_sql.zip , http://downloads.mysql.com/general/timezone_2016a_leaps_sql.zip


Sup*_*nno 5

基于弗朗西斯科·科拉莱斯·莫拉莱斯的回答。

对于 Windows 10 机器上的 MySQL 5.7+,我的程序是

  1. 从https://dev.mysql.com/downloads/timezones.html下载POSIX Standard5.7+ 部分下的最新时区脚本
  2. 解压该文件,然后会出现一个名为timezone_posix.sql
  3. 运行 sql 脚本,在我的例子中,使用下面的命令行
bin\mysql.exe --host=localhost --port=3306 --user=USERNAME -p mysql < c:\...\Downloads\timezone_2020d_posix_sql\timezone_posix.sql
Run Code Online (Sandbox Code Playgroud)

请注意,请确保在数据库/架构下运行时区脚本mysql


tpd*_*pdi 1

对于 Windows,MySQL 提供了一个已加载的数据库供您下载并保存在数据目录中: http: //dev.mysql.com/downloads/timezones.html

从 MySQl 文档的用户评论中复制:

发布者:Jyotsna Channagiri 于 2008 年 11 月 20 日 6:28pm

你好,

我认为这些信息会对那些正在寻找更改 mysql 时区的人有所帮助。

步骤是:

  1. 从http://dev.mysql.com/downloads/timezones.html下载时区表结构和数据

  2. 将数据复制并粘贴到 Mysql/data/mysql 文件夹中

  3. 重新启动您的 mysql 服务器。

  4. mysql> SET GLOBAL time_zone = '美国/多伦多';

  5. mysql> SET SESSION time_zone = '美国/多伦多';

  6. 检查 SELECT @@global.time_zone 、 @ @session.time_zone ;它应该为您提供之前设置的时区。

评论:

是的,但是 MySQL 提供的表已经过时了(由 2006p 版本的 D olson 时区库生成)。我需要最新的时区数据,因此我下载了最新的库并生成了二进制文件。现在我需要一种方法在 mysql 中加载这些表。但我不知道如何在 Windows 上执行此操作。

啊,我明白了。然后你需要做两件事之一。1) 获取执行此操作的工具并在 Windows 上编译它(或其他)。如果幸运的话,这是一个 Perl 脚本。

2)在linux上填写数据库,然后复制到Windows上。[这家伙][ http://it-idiot.einsamsoldat.net/2008/01/moving-mysql-database-from-windows-to-linux-redhat/comment-page-1/2]说可以做到,至少对于 MyIsam 来说是这样。