Maison base de données tutoriel mysql 怎样解决mysql 连接过多的错误?_MySQL

怎样解决mysql 连接过多的错误?_MySQL

Jun 01, 2016 pm 01:57 PM
Oui 连接数据库

    问:怎样解决mysql连接过多的错误?

答:系统不能连接数据库,关键要看两个数据:

1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。

2、数据库当前的连接线程数threads_connected。这是动态变化的。

查看max_connections、max_connections的办法见后。

如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。

因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。

但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。

这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,但强坛系统估计不会发生这种低级的编程错误。

该错误的简便的检查办法是,在刷新强坛页面时,不断监视threads_connected的变化。如果max_connections足够大,而 threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术, threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。

从强坛出错的情况看,更大的可能性是数据库系统没能进行适当地配置。下面提出一点建议。供参考

让你们的工程师把MySQL的最大允许连接数从默认的100调成32000。这就不会老出现连接过多的问题了。

查看max_connections

进入MySQL,用命令:

show variables

查看数据库最大可连接数的变量值:

max_connections

查看threads_connected

进入MySQL,用命令:

show status查看当前活动的连接线程变量值:

threads_connected

设置max_connections

设置办法是在my.cnf文件中,添加下面的最后红色的一行:

[mysqld]
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=16K
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = table_cache=4
set-variable = sort_buffer=64K
set-variable = net_buffer_length=2K
set-variable = max_connections=32000

修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意:

1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384;

2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;

3、添加了最大允许连接数,对系统消耗增加不大。

4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment lire les premiers enregistrements d'une base de données en utilisant PHP ? Comment lire les premiers enregistrements d'une base de données en utilisant PHP ? Mar 22, 2024 am 10:03 AM

Comment lire les premiers enregistrements d’une base de données en utilisant PHP ? Lors du développement d'applications Web, nous devons souvent lire les données de la base de données et les afficher à l'utilisateur. Parfois, nous avons seulement besoin d’afficher les premiers enregistrements de la base de données, et non l’intégralité du contenu. Cet article vous apprendra comment utiliser PHP pour lire les premiers enregistrements de la base de données et fournira des exemples de code spécifiques. Tout d’abord, supposons que vous êtes connecté à la base de données et que vous avez sélectionné la table sur laquelle vous souhaitez opérer. Voici un exemple simple de connexion à une base de données :

Comment gérer SQLException lors de la connexion à la base de données en Java ? Comment gérer SQLException lors de la connexion à la base de données en Java ? Jun 24, 2023 pm 09:23 PM

Dans les programmes Java, la connexion à la base de données est une opération très courante. Bien que des bibliothèques de classes et des outils prêts à l'emploi puissent être utilisés pour se connecter à la base de données, diverses situations anormales peuvent encore se produire pendant le développement du programme, parmi lesquelles SQLException en fait partie. SQLException est une classe d'exception fournie par Java. Elle décrit les erreurs qui se produisent lors de l'accès à la base de données, telles que les erreurs d'instruction de requête, l'inexistence d'une table, la déconnexion de la connexion, etc. Pour les programmeurs Java, notamment ceux utilisant JDBC (Java Data

Comment se connecter à la base de données en langage Go Comment se connecter à la base de données en langage Go Dec 12, 2023 pm 03:51 PM

Le langage Go se connecte à la base de données en important le pilote de base de données, en établissant une connexion à la base de données, en exécutant des instructions SQL, en utilisant des instructions préparées et le traitement des transactions. Introduction détaillée : 1. Importez le pilote de base de données et utilisez le package github.com/go-sql-driver/mysql pour vous connecter à la base de données MySQL ; 2. Établissez une connexion à la base de données et fournissez les informations de connexion à la base de données, y compris l'adresse de la base de données, l'utilisateur. nom, mot de passe, etc. Établissez une connexion à la base de données et ainsi de suite via la fonction sql.Open.

Utiliser le langage Go pour se connecter à la base de données : améliorer les performances et l'efficacité des applications Utiliser le langage Go pour se connecter à la base de données : améliorer les performances et l'efficacité des applications Jan 23, 2024 am 08:57 AM

Utiliser le langage Go pour se connecter à la base de données : améliorer les performances et l'efficacité des applications À mesure que les applications se développent et que le nombre d'utilisateurs augmente, le stockage et le traitement des données deviennent de plus en plus importants. Afin d'améliorer les performances et l'efficacité des applications, une connexion et un fonctionnement corrects de la base de données sont un élément crucial. En tant que langage de développement rapide, fiable et hautement simultané, le langage Go a le potentiel de fournir des performances efficaces lors du traitement des bases de données. Cet article explique comment utiliser le langage Go pour se connecter à la base de données et fournit quelques exemples de code. Installer le pilote de base de données en utilisant le langage Go

Étapes et techniques pour mettre en œuvre l'inventaire des produits avec PHP Étapes et techniques pour mettre en œuvre l'inventaire des produits avec PHP Aug 18, 2023 am 08:39 AM

Étapes et techniques de mise en œuvre de l'inventaire de produits en PHP Dans le secteur du commerce électronique, la gestion des stocks de produits est une tâche très importante. Un inventaire précis et en temps opportun peut éviter les retards de vente, les plaintes des clients et d'autres problèmes causés par des erreurs d'inventaire. Cet article présentera les étapes et les techniques d'utilisation de PHP pour implémenter l'inventaire des produits et fournira des exemples de code. Étape 1 : Créer une base de données Tout d'abord, nous devons créer une base de données pour stocker les informations sur les produits. Créez une base de données nommée "inventaire" puis créez une base de données nommée "prod

Qu'est-ce que la pièce de protocole NEAR ? Quelles sont les caractéristiques des pièces du protocole NEAR ? Qu'est-ce que la pièce de protocole NEAR ? Quelles sont les caractéristiques des pièces du protocole NEAR ? Mar 04, 2024 pm 11:20 PM

NEARProtocol : une plateforme blockchain évolutive et conviviale NEARProtocol est une plateforme blockchain utilisant la technologie de partitionnement conçue pour relever les défis rencontrés par la technologie blockchain en termes d'évolutivité, de convivialité et de sécurité. Il fournit aux développeurs une plate-forme efficace et conviviale qui leur permet de créer et de déployer facilement des applications décentralisées (dApps). NEARProtocol est conçu pour réduire les obstacles au développement de la blockchain tout en offrant un haut degré d'efficacité et de sécurité. En adoptant la technologie de partitionnement, NEARProtocol peut mieux gérer les transactions à grande échelle et offrir aux utilisateurs des délais de confirmation de transaction plus rapides. Dans l'ensemble, NEARProtocol est conçu pour fournir

Quel est le nombre de broches dans l'interface du câble de la carte mère de l'alimentation Antec 650 ? (Schéma de câblage de l'alimentation Antec 650) Quel est le nombre de broches dans l'interface du câble de la carte mère de l'alimentation Antec 650 ? (Schéma de câblage de l'alimentation Antec 650) Jan 03, 2024 am 10:46 AM

Combien de broches possède le câble de la carte mère Antec 650w ? Le câble d'alimentation de la carte mère d'alimentation Antec 650W est généralement composé de 24 broches, ce qui constitue la plus grande interface d'alimentation de la carte mère. Sa fonction est de connecter la carte mère et l'alimentation électrique pour alimenter la carte mère et les autres composants du système. De plus, l'alimentation Antec 650W peut également inclure d'autres types d'interfaces d'alimentation, telles que CPU8pin, PCIe6+2pin, etc., pour connecter d'autres composants tels que le CPU et les cartes graphiques indépendantes. Tutoriel sur le routage de la carte mère Le routage de la carte mère est le processus de connexion de circuits entre divers composants électroniques lors de la conception d'une carte mère. Dans ce processus, des facteurs tels que la stabilité du circuit, la vitesse de transmission du signal et la précision doivent être pris en compte. Lorsque vous acheminez le câblage selon le schéma de circuit, faites attention à la disposition et sélectionnez la largeur et la distance de ligne appropriées à éviter.

Premiers pas avec le langage Go : concepts de base des connexions aux bases de données Premiers pas avec le langage Go : concepts de base des connexions aux bases de données Jan 23, 2024 am 08:17 AM

Apprendre le langage Go : des connaissances de base en matière de connexion aux bases de données, des exemples de code spécifiques sont requis. Le langage Go est un langage de programmation open source. Ses fonctionnalités concises et efficaces le rendent apprécié et utilisé par de plus en plus de développeurs. Au cours du processus de développement, il est souvent nécessaire d'établir une connexion avec la base de données pour effectuer des opérations telles que la lecture, l'écriture, la mise à jour et la suppression de données. Par conséquent, apprendre à se connecter à une base de données en langage Go est une compétence très importante. Pilote de base de données Dans le langage Go, un pilote de base de données est requis pour se connecter à la base de données. À l'heure actuelle, les principaux pilotes de base de données du langage Go sont :

See all articles