AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 69557
Accepted
Chris Adams
Chris Adams
Asked: 2009-09-30 02:17:10 +0800 CST2009-09-30 02:17:10 +0800 CST 2009-09-30 02:17:10 +0800 CST

修复了 Rails/Mysql 应用程序的一个问题,如何防止它再次发生?

  • 772

我在运行 Ubuntu Intrepid 的 VPS 上维护一个运行 Passenger 和 MySQL 的 rails 应用程序,今天早上早些时候,网络服务器停止连接到服务器。我的异常通知程序向我发送了一条带有此错误的消息:

ActionView::TemplateError: Mysql::Error: MySQL server has gone away: SELECT * FROM `table_name` WHERE (`table_name`.`id` = 70)

炮击试图打开 mysql 的 vps 给了我这个:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

我通过停止 apache、重新启动数据库服务器和重新启动乘客来清除此错误,这似乎让一切都再次正常运行,但这并没有解决首先解决为什么会发生这种情况的问题。

我应该在哪些地方寻找导致此错误的原因?(除了 production.log 或 /var/log ),所以我以后可以避免这种情况,并且看到这很容易修复,如果这些情况再次发生,是否值得自动重启两台服务器未来?

mysql
  • 1 1 个回答
  • 851 Views

1 个回答

  • Voted
  1. Best Answer
    Anurag
    2009-09-30T04:42:28+08:002009-09-30T04:42:28+08:00

    当 MySQL 数据库关闭 Rails 应用程序打开的持久连接时,会发生此问题。当您的 Rails 应用程序长时间处于空闲状态(>= mysql 配置中定义的连接关闭时间)并且没有请求命中它时,就会发生这种情况。

    您可能希望在 mysql 设置中增加连接到期时间 - 或编写一个 cron 作业以继续从 rails 应用程序获取一些动态页面(以便 rails 保持数据库句柄新鲜)。

    • 1

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve