Eu configurei conexões máximas para cerca de 2000 no arquivo my.cnf.
max_connections=2048
Eu atualizei para 5.5.20 e agora vejo a seguinte linha no log de erros.
120201 19:40:24 [Warning] Changed limits: max_open_files: 1024 max_connections: 214 table_cache: 400
Por que o mysql mudou o valor máximo de conexões para 214?
# mysqladmin variables | grep max_connections
| max_connections | 214
Arquivos abertos soft e hard restritos pelo sistema operacional são 1024
# ulimit -Sa | grep "open files"
open files (-n) 1024
# ulimit -Ha | grep "open files"
open files (-n) 1024
O número de conexões máximas realmente usadas:
# mysql -e"show status like '%used_connections%'"
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| Max_used_connections | 95 |
+----------------------+-------+
Parece-me bem. Você não pode ter max_connections maior que isso, porque o open_files_limit é muito baixo. Para cada conexão o MySQL abre vários arquivos. Dê uma olhada aqui .
Portanto, você terá que aumentar o limite de arquivos abertos em seu sistema operacional e, posteriormente, poderá colocar um valor maior de max_connections.
Este parece ser o mesmo problema que respondi no stackoverflow aqui , embora eu estivesse usando o CentOS 7 e o MySQL 5.6.26
Você precisa aumentar o limite de arquivos abertos tanto para o usuário mysql (em limites.conf) quanto para o serviço mysql (no arquivo mysql.service)
anexe estas duas linhas ao /etc/security/limits.conf
anexe esta linha a /usr/lib/systemd/system/mysqld.service (na seção [service])
então finalmente reinicie e verifique se essas mensagens de erro desapareceram do seu log de erros do mysql.
Isso parece ser algum bug no novo mysqld. Eu tive o mesmo problema. Definir max_connections para 700 funcionou, mas se eu defini-lo para 900, ele foi redefinido para 214 durante a inicialização. Se isso fosse uma mudança proposital, teria reduzido para 700 ou algo semelhante, o valor 214 não faz sentido.
De qualquer forma, aumentar o limite do descritor com ulimit -n corrige o problema.