Maison > base de données > tutoriel mysql > le corps du texte

Erreur de base de données MySQL : solution contenant trop de connexions

黄舟
Libérer: 2017-09-11 11:29:22
original
2820 Les gens l'ont consulté

Ce type d'erreur est évidemment dû à l'oubli de mysql_close après mysql_connect ;
Lorsqu'un grand nombre de connexions sont établies, une erreur Trop de connexions se produit. Le nombre par défaut de connexions mysql est de 100. Dans quelles circonstances cela se produit-il. une erreur s'est produite ?
Après mysql_connect normal, appelez mysql_close() pour fermer la connexion
Mais lorsqu'il y a une erreur de connexion, lorsque mysql_real_query() se termine avec une erreur, vous pouvez oublier mysql_close();
Vous devez donc déterminer si avant que le programme ne renvoie close(), le moyen le plus sûr est de n'avoir qu'une seule sortie lors de l'écriture d'une fonction !
Vous pouvez également augmenter le nombre de connexions autorisées en modifiant le fichier de configuration mysql !
Parfois, votre serveur rencontre souvent des erreurs comme celle-ci :
Le message d'erreur est le suivant :

Can not connect to MySQL server
Error: Too many connections
Errno.: 1040
Similar error report has beed dispatched to administrator before.
Copier après la connexion

D'après la documentation officielle, nous savons que le numéro de connexion par défaut de mysql compilé et installé sur Linux est de 100
Document :

http://dev.mysql.com/doc/refman/5.0/en/too-many-connections.html
Copier après la connexion

Le responsable de MySQL nous dit que nous devons modifier la valeur de max_connections, alors comment la modifier ? Il existe deux méthodes
1. Modifier le fichier de configuration
Modifier le fichier /etc/my.cnf et ajouter max_connections=N dans [mysqld]. Si vous n'avez pas ce fichier, veuillez compiler le code source du support. - Copiez le fichier *.cnf dont vous avez besoin dans le dossier fichiers vers /etc/my.cnf. J'utilise my-medium.cnf, configuration de serveur moyenne. Par exemple, le contenu de mon [mysqld] est le suivant

[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 160M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
max_connections=1000
Copier après la connexion

Comme je ne connais pas très bien mysql, de nombreux paramètres n'ont pas été modifiés. Ha ha. .
2. Les utilisateurs qui n'utilisent pas le script mysqld pour démarrer automatiquement.
Modifiez le fichier $MYSQL_HOME/bin/mysqld_safe
Par exemple :

/usr/local/mysql/bin/mysqld_safe这个文件
grep -n ‘max_connection’ $MYSQL_HOME/bin/mysqld_safe
Copier après la connexion

Modifiez la valeur du paramètre max_connections du numéro de ligne correspondant

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!