ERROR 1040…again
A pretty common topic in Support tickets is the rather infamous error: ERROR 1040: Too many connections
. The issue is pretty self-explanatory: your application/users are trying to create more connections than the server allows, or in other words, the current number of connections exceeds the value of the max_connections
variable.
This situation on its own is already a problem for your end-users, but when on top of that you are not able to access the server to diagnose and correct the root cause, then you have a really big problem; most times you will need to terminate the instance and restart it to recover.
Root user can’t connect either! Why!?
In a properly set up environment, a user with SUPER
privilege will be able to access the instance and diagnose the error 1040 problem that is causing connection starvation, as explained in the manual:
mysqld actually permits
max_connections
+ 1 client connections. The extra connection is reserved for use by accounts that have theSUPER
privilege. By granting the privilege to administrators and not to normal users (who should not need it), an administrator who also has thePROCESS
privilege can connect to the server and useSHOW PROCESSLIST
to diagnose problems even if the maximum number of unprivileged clients are connected.
But we see lots of people who give SUPER
privileges to their application or script users, either due to application requirements (dan Lire la suite…