Php Piwik升级到MySQL 5.7+;SQLSTATE[HY000]:一般错误:2006年MySQL服务器已关闭-由插件操作引起

Php Piwik升级到MySQL 5.7+;SQLSTATE[HY000]:一般错误:2006年MySQL服务器已关闭-由插件操作引起,php,mysql,matomo,Php,Mysql,Matomo,在以前的Piwik上升级MySQL到5.7已经破坏了它。大多数仪表板小部件现在出现以下错误: 推荐网站 SQLSTATE[HY000]:一般错误:2006年MySQL服务器已关闭-由插件操作引起 小装置 概述 SQLSTATE[HY000]:一般错误:2006年MySQL服务器已关闭-由插件操作引起 根据常见问题,我增加了以下参数: wait_timeout=100000 max_allowed_packet=128M 重新启动等等。甚至尝试按照另一种解决方案重新导入数据库并删除字符集。感谢您

在以前的Piwik上升级MySQL到5.7已经破坏了它。大多数仪表板小部件现在出现以下错误:

推荐网站 SQLSTATE[HY000]:一般错误:2006年MySQL服务器已关闭-由插件操作引起 小装置 概述 SQLSTATE[HY000]:一般错误:2006年MySQL服务器已关闭-由插件操作引起

根据常见问题,我增加了以下参数:

wait_timeout=100000
max_allowed_packet=128M

重新启动等等。甚至尝试按照另一种解决方案重新导入数据库并删除字符集。感谢您的帮助。

这在我最初的github帖子中得到了解决。我在这里发布答案是为了帮助其他人:解决方案最终是角色集和文件上载脚本的问题

  • MySQL 5.7.5+现在对这个设置变得非常严格。默认情况下,这是programdata windows目录,但piwik需要以下内容(取决于您的环境):

    安全文件priv=“xxxxxxxxxxxx/piwik/tmp/assets”

  • 如果未设置,则实际错误为:

    一般错误:1290 MySQL服务器正在使用--secure file priv选项运行,因此 无法执行此语句:加载数据填充XXXXXXXXXX

    当然,我们能看到的只是2006年的错误

  • MySQL>5.7+现在默认安装一个utf8字符集-根据我最终得到的跟踪,piwik似乎在这方面有一些问题-(是的,无效字符实际上是一个“x”):
  • SQLSTATE[HY000]:常规错误:1300无效的utf8字符串:““x”:

    在Mysql中,我能够将默认的“schema”piwik数据库更改为“latin1”,并且像魔术一样,一切都恢复了正常。这导致我假设将latin1 db转换为utf8可能会遇到与我类似的问题。我知道字符集是一个雷区,但我不希望看到从latin1到utf8数据集出现问题(因为理论上它们应该是一个子集,但这仍然是可能的)-相反,是的,当然应该存在问题