Accéder au contenu principal

Erreur Mysql avec PDO : SQLSTATE[08004] [1040] Too many connections


 

J'ai eu ce problème récemment sur un module de traitement automatique qui effectuaient des centaines d'opérations à la minute sur la base de données mysql.

Cette erreur signifie, comme son libellé l'indique, que votre base de données Mysql reçois une trop connections en simultannés. 

Et recevoir trop de connexion signifie justement que vous avez atteint une limite configurée sur votre serveur. La variable qui stock cette limite est max_connections.

Pour le verifier sur votre base données, ouvrez l'editeur SQL de votre Bases de données et executez la requetes suivante :

SHOW VARIABLES like 'max_connections'

Une fois executée, cette requête va vous retourner le nombre maximum de connexion actuelement confuré pour votre base de donnée.

Plusieurs solutions se présentent à vous pour resoudre ce probleme.

 

  • Augmenter en live la valeur de max_connections 

Pour cela, il suffit d'executer la requete suivantes sur votre base de données :

SET GLOBAL max_connections = VOTRE_NOMBRE

Ici, VOTRE_NOMBRE represente la nouvelle valeur  plus élevée que celle actuellement configurée sur la base. Par exemple 1000 si initialement on était en dessous.

Notez que cette solution en active immediatement sur votre base de données et necessite pas de redemarrer votre serveur.

  1. Augmenter de façon generale la configuration des base de données

Cette  solution permet de modifier directement votre fichier de configuration mysql.

Pour cela, identifiez  où il se localise sur votre système d'exploitation. Il s'agit en particulier du fichier my.cnf ou mysqld.cnf

Sur les distributions linux par exemple vous pouvez le trouver sur l'un des chemins ci-dessous :

/etc/my.cnf

/etc/mysql/my.cnf

/etc/

    2. Optimiser votre script PDO de connexion à la base de données

Commentaires

Posts les plus consultés de ce blog

Configuration d'un VPN IPsec sur Mikrotik

Introduction En supposant que vous avez déjà une bonne connaissance concernant la technologie VPN et des termes s'y afférents, je vais simplement présenter quelques étapes de configuration du VPN sur un mikrotik. C'est donc un coup de pouce pour ceux qui débutent sur les technologie Mikrotik. Je me limiterai à l'utilisation des interfaces graphiques et pour la ligne de commande, je reste toujours disponible pour plus de détails. Ce document ne s'étend pas sur des détail liés à l'utilisation d'un routeur/firewall Mikrotik. Pour plus de détails dans ce sens, je vous invite à visiter le site de Mikrotik www.mikrotik.com Environnement requis :  Windows (pour ce tutoriel) et système Unix (non pris en charge dans ce tutoriel). Architecture : Tout le long de ce tutoriel, nous allons considérer que les deux sites distants sont équipés chacun d'un routeur Mikrotik. Toutefois, au cas où l'un des sites aura un autre routeur (Cisco pa...

Du centre d'appel à un centre de contact unifié, les enjeux ?

Longtemps considérées comme des moulins à parole, les centres d'appels suivent fortement l'évolution technologique et les besoins des clients. Les entreprises exerçant dans ce secteurs sont intermédiaire entre le clients distant et le donneur d'ordre. Cependant, nous connaissons depuis quelques années un grand boom dans l'apparition de nouveaux canaux de communication utilisés par les clients. Ainsi, pour rester compétitif et répondre efficacement au besoin des clients, les centres d'appels doivent se reformer, innover et s'adapter pour progressivement devenir des véritables centre de contacts. Particularité d'un centre d'appel Un centre d'appel axe tout son métier dans la gestion de la relation client en utilisant comme canal principal le téléphone. Cela peut être fait par l'utilisation des lignes téléphoniques classiques, des liaisons louées ou la téléphonie IP. En fonction de la taille, et de la solution envisagée, l'infrastructure p...

Problème de transport "Unknow Transports" et TLS liés à la version de socket.io sur AWS

J'utilise Socket.io depuis quelques années comme serveur pour des flux bidirectionnels en temps réels. Je me croyais suffisamment dans la création des instances socket.io jusqu'à ce que je me retrouve à boucler depuis plusieurs jours pour monter un nouveau serveur sur AWS. En effet, j'ai procédé à la création d'un nouvel EC2 dédié pour l'hébergement de mon serveur socket.io. J'ai installé un disto debian, installé toutes les dépendances ainsi qu'apache2 et cerbot pour du TLS. J'ai réservé avec confiance mon IP elastic.  J'ai installé bien entendu nodejs, npm et bien sure : socketio. (début du problème). Je croyais à ce niveau que l'installation de socketio via la commande npm install socketio installerait la dernière version (la dernière version au moment de l'écriture de ce message etait la 4.7.5). C'était ma première erreur. Mais npm a plutôt installé une ancienne version, la 1.7.x. Sans me rendre compte de ce fait, j'ai tranquillem...