【问题标题】:Mysql Error = Can't create UNIX socket (24)Mysql 错误 = 无法创建 UNIX 套接字 (24)
【发布时间】:2013-07-31 13:14:49
【问题描述】:

我遇到了以下异常

Mysql Caught Exception = Can't create UNIX socket (24).

我知道 UNIX 系统错误 24。那是“打开的文件太多”。

我提到了这个问题,:OperationalError: (2001, "Can't create UNIX socket (24)")

但我需要了解确切的问题。 在我的代码中,我执行多个选择查询并存储结果,而不是在两者之间使用 free_result 方法。

会不会是这个错误:Can't create UNIX socket (24)

这是我的代码:

    pthread_mutex_lock(&mysqlMutex);
    mysql = mysql_init(NULL);
    my_bool reconnect = 1;
    MYSQL* connection;
    mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect);
    connection = mysql_real_connect( server,user,password, database_name, 0, NULL, 0 );
    if(connection == NULL)
    {
             //Connection failed.Exception Handling
    }
    //Execute query  :SELECT * from user ;
    mysql_query(mysql, getuser_query); 

     MYSQL_RES *mysql_res = mysql_store_result(mysql);

    // Query # 2
    // SELECT * from usergroup.
    mysql_query(m_pMysql, userGroup_query);
     mysql_res = mysql_store_result(mysql);
    // Query # 3
    // Query # 4

最后:

    //free mysql memory
    mysql_free_result(mysql_res);
    mysql_close(mysql);
    pthread_mutex_unlock(&mysqlMutex);

【问题讨论】:

  • 我也遇到了这个问题,首先,我按照 akostadinov 的回答来增加可用的 FD 并减少 mysql 的 open_table_cache 和 max_connections。但它似乎仍然会在很长一段时间内发生。我认为我的代码可能还有其他问题,我printf FDs,发现返回的FDs在增加。所以我认为可能其他地方没有关闭FD。所以我建议你看看有没有其他人没有关闭FD。

标签: mysql


【解决方案1】:

您可能同时打开了太多与 mysql 服务器的连接。您需要为 mysql 进程增加可用的 FD。您通常可以在您的 Linux 发行版中使用 /etc/security/limits* 来执行此操作。 也可以看看这个问题:Mysql decrease opened files

【讨论】:

  • 是的,我们确实在服务器上处理了大量文件。这是唯一的解决方案吗?增加FD?
  • 会不会是编程的问题?正如我所问的,我存储了 mysql 结果,但在两者之间不执行 free_result 语句。
  • 看来您正在正确关闭连接。并且 mysql/mariaDB 不应该为不涉及不适合内存的临时表的简单查询打开新文件。也许您可以尝试使用在您的执行之间共享的连接池,但除非您在连接保持打开状态时花费大量时间处理应用程序,否则它将无济于事。默认情况下,大多数发行版中的 max fds 是 1024,这非常低。无需担心将其增加到 10k 或其他东西。在手册中,您可以看到免费结果仅消耗内存,而不是 FD:php.net/manual/bg/function.mysql-free-result.php
猜你喜欢
  • 2012-03-06
  • 2017-08-14
  • 2022-11-12
  • 2012-07-24
  • 2016-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
相关资源
最近更新 更多