Mysql资源暂时不可用

2023-11-21

我在高负载时间内看到了一些错误:

mysql_connect() [<a
href='function.mysql-connect'>function.mysql-connect</a>]: [2002] Resource
temporarily unavailable (trying to connect via
unix:///var/lib/mysql/mysql.sock)

据我所知,mysql 服务器没有达到其最大连接限制,但还有其他原因阻止它提供查询服务。 MySQL 还会遇到哪些其他限制?

我正在运行 RHEL 6.2 64 位和 MySQL 5.5.21


假设您的系统当前是基于 Unix 的(如问题陈述中所示)。如果这是正确的,那么您可能会遇到以下问题:

  1. 你已经用完了memory可用于 MySQL。

    这是您最有可能面临的问题。 MySQL 连接池中的每个连接都需要内存才能运行,如果该资源耗尽,则无法建立更多连接。当然,各种操作的内存占用和最大数据包大小可以调整你相当于my.cnf如果您发现这是一个问题。

    这是一个可以提供帮助的附加线程,但您也可以考虑使用更简单的分析工具,例如top对正在发生的事情有一个大致的估计。

  2. 你已经用完了文件描述符可用于您的 MySQL 用户帐户。

    另一个常见问题:如果您尝试为需要文件 IO 超过 1,024 边界(默认情况)的请求提供服务,您将遇到操作失败的情况。这是因为大多数系统对每个用户一次可以打开的文件描述符的数量指定了软限制和硬限制,超过此阈值可能会导致问题。

    这通常会在日志文件中表达一系列明显的迹象。查看/var/log/messages以及您的类似目录(例如,/var/log/mysql看看你是否能找到任何有趣的东西。

  3. 你遇到了一个活锁或死锁您的线程无法满足的场景。

    由于内存和文件描述符耗尽,如果超出系统能够处理的计算负载,线程可能会超时。它不会抛出此错误消息,但这是将来需要注意的事情。

  4. 您的系统已用完可用的 PIDfork.

    另一个常见场景:fork在任何给定时间只有这么多 PID 可供使用。如果您的系统只是过度分叉,它将无法为请求提供服务。

    最简单的检查是查看是否有任何其他服务可以连接到该计算机。例如,尝试通过 SSH 进入盒子,但发现不能,这就是一个很大的线索。

  5. 上游代理或连接管理器已耗尽资源并停止服务请求。

    如果您的客户端和 MySQL 之间有任何服务层,则需要检查它是否崩溃、挂起或以其他方式变得不稳定。上述建议适用。

  6. 您的端口映射器已耗尽自身65,536 个连接后.

    不太可能,但同样,可能是一种疲惫的情况。如上所述检查琐碎的服务连接,嗯,也是这里最好的停靠点。

简而言之:这是一种资源耗尽的情况,包括服务器只是“关闭”。您将必须进一步分析您的系统以查看您阻止的内容。在这种情况下,给我们的所有错误消息都是资源对客户端不可用的事实 - 我们需要查看有关该资源的更多信息server以确定更适当的补救措施。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql资源暂时不可用 的相关文章

  • 当数据表输入来自服务器的 JSON 数据时,更改 Google 图表栏颜色

    我一直在努力使用谷歌图表 API 我在 SO 上发现了这个出色的例子PHP MySQL Google Chart JSON 完整示例 https stackoverflow com questions 12994282 php mysql
  • 通过我的java代码导出数据库

    我想使用我的 java 代码导出我的 MySQL 数据库 但我还没有找到任何办法 我想要做的就是我的应用程序中有一个按钮作为 导出数据库 单击该按钮时 我的数据库应导出到指定的路径 我使用了以下代码 但它不起作用 Runtime runti
  • 如果列有多个逗号分隔值,如何过滤 mysql 数据?

    我想问如果检查条件以查找具有多个逗号分隔值的列 如何过滤 mysql 数据 我给你举个例子 我有下表说 tbitems id item names item types item features 1 item 1 8 6 10 5 4 9
  • 使用mysql在一个查询中选择多个表中的子项总数

    我整个下午都在尝试处理一个查询 或两个或三个 以获得三个表的所有子表的计数 看看我的设计 用户表 id user name 1 foo 2 bar 赢表 id won user 1 1 2 1 3 2 绘制表格 id draw user 1
  • MYSQL中收盘价的简单移动平均线计算和更新表

    我可以使用一些帮助 最好是虚拟指南 来更新下表 CREATE TABLE SYMBOL day date NOT NULL open decimal 8 3 DEFAULT NULL high decimal 8 3 DEFAULT NUL
  • 使用唯一索引删除重复项

    我在两个表字段 A B C D 之间插入 相信我已经在 A B C D 上创建了唯一索引以防止重复 然而我以某种方式简单地对这些做了一个正常的索引 因此插入了重复项 这是2000万条记录的表 如果我将现有索引从普通索引更改为唯一索引 或者只
  • C#:SQL 查询生成器类

    在哪里可以找到好的 SQL 查询构建器类 我只需要一个简单的类来构建 SQL 字符串 仅此而已 我需要它用于 C 和 MySql 我真的不需要像 Linq 或 NHibernate 这样的东西 谢谢 由于 Google 将我引导至此页面 我
  • MySQL 服务器未启动

    当我做 mysql u root p并输入my password这就是我得到的 错误 2002 HY000 无法通过套接字 var run mysqld mysqld sock 连接到本地 MySQL 服务器 2 所以我输入 systemc
  • 单行的总和值?

    我有一个 MySQL 查询 它返回由一系列 1 和 0 组成的单行 它用于进度条指示器 我现在在代码中对它进行求和 但我尝试对查询中的值求和 并意识到我无法使用 SUM 因为它们有很多列 但只有一行 有没有办法可以在查询中自动求和 就像这样
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • 如何以最少的查询次数获取帖子列表和关联标签

    我的表格结构如下 标签 更多的是一个类别 id 标签名称 描述 slug POSTS ID 标题 网址 邮戳 id idPost idTag USERS ID 用户名 userSlug VOTES id idPost idUser 每个帖子
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 忽略重复条目并在 EF Core 中的 DbContext.SaveChanges() 上提交成功条目

    我有一个 ASP Net Core 2 2 Web API 在我的一个控制器操作中 我向 MySQL 数据库表添加了一堆行 我使用的是 Pomelo 例如 dbContext AddRange entities dbContext Save
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c

随机推荐