php - Piwik 升级到 MySQL 5.7+ SQLSTATE[HY000] : General error: 2006 MySQL server has gone away - caused by plugin Actions

标签 php mysql matomo

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

Referrer Websites SQLSTATE[HY000]: General error: 2006 MySQL server has gone away - caused by plugin Actions Widget Overview SQLSTATE[HY000]: General error: 2006 MySQL server has gone away - caused by plugin Actions

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

wait_timeout=100000
max_allowed_packet=128M

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

最佳答案

这个问题已在我原来的 github 帖子 https://github.com/piwik/piwik/issues/9419 中得到解决。 。我在这里发布答案是为了帮助其他人:解决方案最终是字符集问题和文件上传脚本问题。

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

    secure-file-priv="xxxxxxxxxxxxx/piwik/tmp/assets"

如果未设置 - 真正的错误是:

General error: 1290 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement: LOAD DATA INFILE xxxxxxxxxxxx

但是当然我们只能看到 2006 gone away 错误......

  • MySQL > 5.7+ 现在默认安装 utf8 字符集 - 根据我最终得到的跟踪,piwik 似乎存在一些问题 -(是的,无效字符确实是一个 '"x'?):<
  • SQLSTATE[HY000]: General error: 1300 Invalid utf8 character string: '"x':

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

    关于php - Piwik 升级到 MySQL 5.7+ SQLSTATE[HY000] : General error: 2006 MySQL server has gone away - caused by plugin Actions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34757496/

    相关文章:

    php - Zend Action Helper 未加载*有时*

    PHP 在一个输入字段中添加多个值

    MySql Access VB

    mysql - Piwik MySQL 数据库 : calculate length of user actions

    javascript - 将nodejs集成到现有应用程序中

    PHP PDO 基本准备语句

    php - MySQL 的 undefined variable 错误

    mysql - 在 SQL Server 中搜索并返回与两个搜索条件均匹配的记录,并与其他记录进行比较

    javascript - 延迟运行跟踪代码好吗

    python - 将 Piwik 跟踪代码集成到托管在 readthedocs.io 上的 Sphinx 生成的文档中