Comment résoudre MySQL max_user_connections erreur
J'obtiens le message d'erreur suivant lorsque j'essaie de me connecter sur phpMyAdmin.
Utilisateur ** a déjà plus de 'max_user_connections' active connections
Quelqu'un pourrait-il me faire savoir comment fermer ces DB connexions de serveur MySQL fin?
Merci pour votre temps!
S'il vous plaît essayer de donner un peu plus de contexte, vous n'avez pas même nous a dit ce qu'elle est, vous travaillez...
Salut Trufa, Merci de vérification, de mise à Jour 🙂
Je pense toujours que la quesiton pourrait avoir un peu plus de détails, de toute façon, avez-vous essayé google votre problème? goo.gl/xW9Oe il semble y avoir beaucoup de réponses intéressantes, peut-être, on peut aider.
Salut Trufa, Merci de vérification, de mise à Jour 🙂
Je pense toujours que la quesiton pourrait avoir un peu plus de détails, de toute façon, avez-vous essayé google votre problème? goo.gl/xW9Oe il semble y avoir beaucoup de réponses intéressantes, peut-être, on peut aider.
OriginalL'auteur Yasiru G | 2012-06-25
Vous devez vous connecter pour publier un commentaire.
Ici, je pense que vous pouvez résoudre votre problème
max_connections
Également lire cette http://dev.mysql.com/doc/refman/5.5/en/too-many-connections.html
OriginalL'auteur osyan
Votre meilleur pari est d'augmenter
max_connections
. Pour une instance MySQL servir à plusieurs applications web (raw php, WordPress, phpBB), vous voudrez probablement une valeur d'au moins 60 ans pour cette.Problème de cette commande et vous trouverez le nombre de liens à l'échelle mondiale, vous avez à disposition:
Vous pouvez trouver le nombre de connexions en cours d'utilisation à tout moment comme celui-ci:
Vous pouvez trouver ce que chaque connexion est en train de faire comme ceci:
Je voudrais essayer pour une valeur globale d'au moins 100 connexions si j'étais vous. Votre fournisseur de service doit être en mesure de vous aider si vous n'avez pas accès à ce faire. Il doit être fait dans le
my.cnf
fichier de configuration de MySQL. Ne pas le régler trop haut, ou vous courez le risque de votre serveur MySQL processus d'engloutir tous de votre RAM.Une deuxième approche permet d'allouer de ses connexions à vos différents utilisateurs MySQL. Si vous avez différentes MySQL noms d'utilisateur pour chacun de vos applications web, cette approche va travailler pour vous. Cette approche est écrit ici. https://www.percona.com/blog/2014/07/29/prevent-mysql-downtime-set-max_user_connections/
De l'approche finale pour le contrôle de ce problème est de plus en plus subtiles. Vous êtes probablement en utilisant le serveur web Apache sous-jacentes de la technologie. Vous pouvez réduire le nombre de Apache tâches en cours d'exécution dans le même temps, paradoxalement, augmentation débit. C'est parce que Apache files d'attente les demandes. Si elle a quelques tâches de façon efficace taper à travers la file d'attente, qui est souvent plus rapide que beaucoup de tâches, car il y a moins de demande. Il exige également moins de connexions MySQL, ce qui permettra de résoudre votre problème immédiat. C'est expliqué ici: Redémarrer Mysql automatiquement lors de l'ubuntu sur EC2 instance micro tue lors de l'exécution de la mémoire
Par la voie, applications web comme WordPress utiliser une connexion persistante de la piscine. Qui est, ils établissent des connexions à la base de données MySQL, maintenir ouvert, et de les réutiliser. Si vos applications sont occupés, chaque connexion de la durée de vie devrait être de plusieurs minutes.
OriginalL'auteur O. Jones
D'abord, c'est un hack, mais les œuvres, en particulier sur un ordinateur hôte partagé.
On a tous des mauvais "voisins" parfois, non?
Si vous avez accès à votre /etc/augmenter la limite de 30 à 50, dans votre mon.cnf ou à travers les informations de schéma.
@mysql_connect()
.or die()
" déclaration d'arrêt de la requête.die(header(location: THIS PAGE))
et assurez-vous demysql_close()
;Oui, cela va entraîner un retard dans le chargement des pages. Mais il vaut mieux charger qu'un écran blanc de la mort -ou pire messages d'erreur que les visiteurs n'ont pas la compréhension de l'.
OriginalL'auteur charless
Ceci se produit en raison de la limite spécifiée dans la configuration de mysql, la variable système
max_user_connections
.Solutions
Tuer les requêtes qui sont collés à l'arrière-plan n'est une solution que je dirais si c'est une requête SELECT. Les requêtes de données modifiées, comme UPDATE/DELETE/INSERT, ne doivent pas être tués.
Deuxièmement, vous pouvez utiliser la commande
mysqladmin processlist
pour vérifier ce qui se passe à l'intérieur de mysql.Si le verrouillage est à l'origine de votre problème, vous pouvez vérifier le moteur que vous utilisez et de le changer pour un autre. IBM SolidDB documentation sur les verrous de table pourrait vous aider. S'il y a peut être une autre raison pour cela. (Par exemple, peut-être que vos requêtes de prendre trop de temps à cause d'une unoptimized requête, ou la taille de la table est trop grande, ou vous avez un spammé de la base de données).
Oh merci @RJHunter. Mon mauvais qui vient d'obtenir un aperçu de ce qu'est le tableau de niveau de la serrure et verrou au niveau de la ligne et de ne pas en corrélation avec solidDB.
OriginalL'auteur rawatsandeep1989