MySql多重连接问题

时间:2017-06-24 05:32:50

标签: codeigniter mysqli

在codeigniter中运行应用程序时,我有时会遇到以下问题:

消息:mysqli :: real_connect():( 08004/1040):连接太多

我随机收到此错误。有人在解决它吗?

 $db['default'] = array( 'dsn' => '', 
                         'hostname' => 'localhost', 
                         'username' => 'root', 
                         'password' => '', 
                         'database' => 'BirthdayOwl', 
                         'dbdriver' => 'mysqli', 
                         'dbprefix' => '',
                         'pconnect' => FALSE, 
                         'db_debug' => (ENVIRONMENT !== 'development'),
                         cache_on' => FALSE, 
                         'cachedir' => '', 
                         'char_set' => 'utf8', '
                         dbcollat' => 'utf8_general_ci', 
                         'swap_pre' => '', 
                         'encrypt' => FALSE, 
                         'compress' => FALSE,
                         'stricton' => FALSE,
                         'failover' => array(), 
                         'save_queries' => TRUE ); 

2 个答案:

答案 0 :(得分:1)

您可以在MySQL配置文件中增加max_connections的值。文件的可能位置为:/etc/my.cnf

在文件上增加max_connections系统变量的值:

[mysqld]
set-variable=max_connections=1000

你也可以关闭MySQL的持久连接。

[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent=Off

这会对你有所帮助。如果它不起作用,请告诉我

答案 1 :(得分:1)

您可以通过设置'max_connections'来增加连接限制。但一切都有一些限制。您可以设置将占用100%内存的“max_connections”。如果你设置更大的数字,那将会造成混乱。

您应该使用'pconnect' => TRUE来减少多重连接。此配置将打开持久性连接。

我建议您将'max_connections'与'pconnect' => TRUE

正确混合使用

让我知道你仍然面临着问题。