http://www.perlmonks.org?node_id=1087862


in reply to Re^2: Optimize DBI connect to avoid max_user_connections
in thread Optimize DBI connect to avoid max_user_connections

Sounds like you're using MyISAM. Alter the tables to use the InnoDB engine instead of MyIASM and most if not all of those table lock warnings should go away. InnoDB uses row locks instead of table locks. It can/will use full table locks when warranted for the operation.

  • Comment on Re^3: Optimize DBI connect to avoid max_user_connections

Replies are listed 'Best First'.
Re^4: Optimize DBI connect to avoid max_user_connections
by Alex-WisdomSeeker (Initiate) on May 29, 2014 at 21:29 UTC
    Ok, will give it a try if the problem will persist. Any ideas if the the problem may be in the code ? Until now I did not have an "or db-disconnect & exit" command after the querys if they do not succeed. Could this be the problem so the script goes persistent and waits for the query to finish ? The MyAdmin log showed nothing suspicious just regular querys. Its driving me mad, so sorry for bothering everyone :-(

      If you don't do an explicit disconnect, the module should do it for you when the handle goes out of scope or as part of the garbage collection process when the script ends. However, that doesn't always happen. I had a script connecting to a pervasive db and didn't have an explicit disconnect. Latter I learned that connections weren't being disconnected which caused the db to lockup when it reached the max connections.

      The next time this problem comes up connect to the mysql cli or you can use phpmyadmin to run the following command.
      show full processlist;

      That will show you the connections and processes being executed.