小编Vin*_*ent的帖子

MySQL读取联合表时读取通信数据包超时

我有两台服务器(所罗门和宁静)。
两台服务器都是 Windows Server (2012 & 2016)、IIS、PHP (5.6.31)、MySQL (5.5)。

在所罗门上,我设置了几个联合表,指向宁静表。我在 solomon 上设置了一个用户,专门用于连接到这些联合表。

帐户分布在两台服务器上。我的用户帐户一半在 solomon 上,一半在 serenity 上。但是,所有用户的登录页面都很平静。这是为了让 serenity 服务器可以检查该用户应该被定向到哪个服务器,然后重定向到 solomon 或 serenity 上的密码页面。所以通过这种方式,所有用户都经历了宁静,但并非所有用户都留在那里。

但是,在 solomon 上运行的其他一些脚本确实会检查这些联合表,因此即使用户已经通过 solomon,该站点仍在查询这些联合表,从而达到了平静。

据我所知,这应该不是问题,但在平静中我在 mysqlerror.log 中收到很多警告,如下所示:(用户名、数据库名和 IP 地址被混淆)

180430 16:21:00 [Warning] Aborted connection 24784 to db: 'dbname_blah' user: 'federated_user_blah' host: 'xxx.xxx.xx.xx' (Got timeout reading communication packets)
Run Code Online (Sandbox Code Playgroud)

在所罗门我没有收到这些警告。此外,这些警告中有 95% 提到了联合用户,即使我 99% 的查询是使用不同的用户完成的。所以这就是为什么我怀疑这是联合表/用户的问题。

我不会太担心,除了我在宁静方面遇到了很多问题,我怀疑这可能与此有关。今天我的数据库崩溃了,我不得不重新启动服务器。很多愤怒的顾客。

其他症状

在过去的几个月里,我遇到了似乎是并发连接限制的问题,因为我有几个脚本循环遍历多行数据(通常在 50 到 200 之间)并使用 ajax 为每一行调用发送电子邮件脚本,或者在另一种情况下计算小时数。有时,这些循环脚本不会执行循环中的所有调用,而是会以 500 个错误结束,特别是当循环中有很多行(比如超过 100 行)时。较小的循环(如 50 条记录)通常没有问题。

然而,根据微软的说法,IIS 中不再有任何并发​​连接限制。

网站上的超时 有时并非我的所有 sql 语句都能够在页面加载时完成执行。他们只是超时并且不返回任何行。然后当我刷新页面时,它们通常会加载,但如果加载时间超过几秒钟,我知道会有一些语句超时。

MySQL Workbench 中的超时 如果我尝试 …

mysql

5
推荐指数
1
解决办法
3万
查看次数

为什么我无法在 MySQL Workbench 中编辑用户权限

我刚刚创建了这个全新的数据库(Windows 上的 MySQL 5.6)并创建了一个新的管理员用户,但现在我无法修改任何用户权限。我可以单击“添加帐户”按钮(请注意,有一个名为“newuser”),但是我无法为该新用户设置任何权限,因为所有内容都被禁用,并且无论我选择哪个用户,所有内容都被禁用。我什至无法点击其他选项卡。

另请注意,即使我选择了“admin”用户,“登录”选项卡上也没有显示登录名。一切都是空白的,就像我根本没有选择任何用户一样。

在此输入图像描述

在此输入图像描述

我尝试过重新启动 MySQL 服务,但这没有帮助。这里发生了什么?

mysql mysql-workbench

5
推荐指数
1
解决办法
2260
查看次数

标签 统计

mysql ×2

mysql-workbench ×1