The following errors occasionally appear in the Plesk interface:
Unable to connect to database: Too many connections
SQLSTATE[08004] [1040] Too many connections
This error means that the maximum number of simultaneous connections to the MySQL server has been reached. New connections to the server cannot be established at this time.
There are two ways to solve this issue. The first is to increase the connection limit, and the second one is to determine the cause of the "Too many connections" error and use that information to lower MySQL server usage.
The MySQL server status can be checked using the mysqladmin utility. For example, to find out the number of current connections to the server, use:
# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` extended-status | grep Max_used_connections
| Max_used_connections | 11 |
The current connection limit can be found using:
# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow ` variables | grep 'max.*connections'
| max_connections | 100 |
| max_user_connections | 0
In the above example, the maximum number of connections to the server ( max_connections ) is set to 100. The maximum number of connections per user ( max_user_connections ) is zero, which means unlimited. The default MySQL values can be redefined in /etc/my.cnf ( /etc/mysql/my.cnf on Debian/Ubuntu). For example:
[mysqld]
max_connections=150
max_user_connections=20
Restart MySQL after my.cnf has been modified:
/etc/init.d/mysqld restart
OR
# service mariadb restart
Please note: if you set the connection limit to a very high value (more than 300), this may affect server performance. It is better to find and rectify the cause of the unusually high MySQL server usage. You can check which users/requests slow MySQL on all current connections with the following command:
# mysqladmin -uadmin -p`cat /etc/psa/.psa.shadow` processlist
0 Comments
Please log in to leave a comment.