无法连接.太多的联系”;mysql错误


"Could not connect. Too many connections" Error in MySQLi

我有以下代码

function openDBConn($params){
    $conn_mode = $params['conn_mode'];
    $db_conn = $params['db_conn'];
    //create connections
    if(empty($db_conn->info)) {
        $db_conn = new mysqli("localhost", $user, $password, "database");
        $db_conn->set_charset('UTF8'); 
        $mysqli_error = $db_conn->connect_error;
    }
    if($mysqli_error !== NULL){ 
        die('Could not connect <br/>'. $mysqli_error); 
    }else{ 
        return $db_conn; 
    }
}
//close db connection
function closeDBConn( $params ){
    $db_conn = $params['db_conn'];
    $db_conn->close;
}
//used as below
$db_conn = openDBConn();
save_new_post( $post_txt, $db_conn );
closeDBConn( array('db_conn'=>$db_conn));

不时地,我得到"无法连接"。连接太多"错误。当我让谷歌机器人扫描我的网站时,这种情况往往会发生。

这个问题似乎从MySQL升级到MySQLi就开始了。有什么建议,如何确保所有连接关闭?

谢谢

您需要增加到MySQL服务器的连接数(默认只有100个,通常每个页面加载消耗一个连接)

编辑/etc/my.cnf

max_connections = 250

然后重启MySQL

service mysqld restart

http://major.io/2007/01/24/increase-mysql-connection-limit/

有些主机对允许打开的数据库连接数量有硬性限制。也许你想联系你的房东,了解你可以打开多少个。对于高流量负载的网站,更多的连接是有帮助的。

您可以直接访问服务器还是使用托管解决方案?

如果你有直接访问,你可以检查mySQL配置文件,看看允许多少连接,并增加它。

如果你不这样做,你可能需要联系你的网络主机关于增加限制,看看他们是否会遵守。