工作日志,error parsing query: unable to find time zone
工作日志,error parsing query: unable to find time zone
坑
Windows 系统使用influxdb数据库,在执行查询语句时提示 ERR: error parsing query: unable to find time zone Asia/Shanghai
的错误。因为influxdb在non-unix系统(例如windows)上不能正常使用tz()语句。网上都说安装go环境和重启Influxd即可解决问题。可是我也安装了go,也配置了环境变量,也重启了influxd,依然报相同的错误。
填坑
先说解决方法:安装golang,配置path和GOROOT环境变量,并且重启电脑。ITDragon 因为没有配置GOROOT,折腾了一天的时间。
填坑步骤
第一步:下载window版本的golang, 下载地址https://dl.google.com/go/go1.13.1.windows-amd64.msi
第二步:安装golang,并配置环境变量,包括GOROOT 和path 系统环境变量,重启电脑
第三步:重启influxd
填坑时的思路
- 开始:按照网上教程安装go,并配置了path环境变量。重启influxd。(失败,意料之中,(︶^︶))
- 然后:分析为什么安装go,得知influxdb底层是通过go语言实现,使用tz语句需要的时间库在非Unix系统上可能不存在。而go的安装目录中有时间库C:\Go\lib\time\zoneinfo.zip。(看到曙光,<( ̄︶ ̄)↗[GO!])。
- 接着:分析安装go的流程,是否有遗漏项。的确发现没有配置GOROOT。可能需要指定安装目录才能确定时间库的位置?抱着疑虑配置了GOROOT。因为没有重启电脑,所以配置没有生效。(开始怀疑自己的判断,(⊙_⊙)?)。
- 接着:分析安装influxdb的版本,试了几个版本皆以失败告终(濒临崩溃,(;´༎ຶД༎ຶ`))。
- 接着:分析操作系统的版本,打开了虚拟机,启动了之前安装好的window server 2012 r2 。 结果启动失败,提示
vcpu-0:VERIFY vmcore/vmm/main/cpuid.c:386 bugNr=1036521
(祸不单行,(╬▔皿▔)凸)。 - 最后:重启电脑,修改BIOS的配置,开启虚拟技术。结果好了 (╯‵□′)╯︵┻━┻ 。经过不断地测试,确定是因为添加GOROOT 系统环境变量后没有重启电脑导致前面的失败。
坑的教训
配置了环境变量,考虑重启???ITDragon最讨厌的就是重启。一般机器都开了五六个IDEA,一堆数据库连接工具,一堆通讯软件,POSTMAN,MQTTBOX,等。太南了 🤣🤣🤣🤣🤣🤣
来源go官网
The installer should put the c:\Go\bin directory in your PATH environment variable. You may need to restart any open command prompts for the change to take effect.
参考文档:
https://dotnetplusplus.com/2017/10/18/time-zone-and-group-by-day-in-influxdb/
作者:ITDragon龙
出处:http://www.cnblogs.com/itdragon/
简介:每天都在进步,每周都在总结,架构师的修罗之路!你的一个点赞,一句留言,就可以让博主开心一笑,充满动力!ITDragon的微信公众号学英语会编程只有英语学的好,源码才能看的爽
版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://www.cnblogs.com/itdragon/
简介:每天都在进步,每周都在总结,架构师的修罗之路!你的一个点赞,一句留言,就可以让博主开心一笑,充满动力!ITDragon的微信公众号学英语会编程只有英语学的好,源码才能看的爽
版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。