Maison  >  Article  >  base de données  >  Comment définir le délai d'expiration de la connexion MySQL ?

Comment définir le délai d'expiration de la connexion MySQL ?

WBOY
WBOYoriginal
2023-06-29 16:52:409379parcourir

MySQL est un système de gestion de bases de données relationnelles couramment utilisé pour le stockage et la gestion de données dans diverses applications. Lors du développement avec MySQL, nous rencontrons souvent le problème du délai de connexion. Le délai d'expiration de la connexion fait référence à la situation dans laquelle pendant le processus d'établissement d'une connexion à la base de données, la connexion ne peut pas être établie pour certaines raisons ou le temps d'établissement est trop long, ce qui conduit finalement à l'expiration du délai de connexion.

Le délai d'expiration de la connexion peut affecter les performances et la stabilité du système. Nous devons donc définir le délai d'expiration de la connexion MySQL de manière appropriée pour éviter ce problème. Ci-dessous, nous présenterons en détail comment définir le délai d'expiration de la connexion MySQL.

  1. Comprendre les paramètres de délai d'expiration de connexion de MySQL
    Avant de définir le délai d'expiration de connexion, nous devons d'abord comprendre les paramètres de délai d'expiration de connexion liés à MySQL. MySQL a deux paramètres de délai de connexion importants, à savoir wait_timeout et interactive_timeout. wait_timeoutinteractive_timeout
  • wait_timeout 指定了一个非交互式(即非终端)连接在没有活动操作的情况下保持打开的时间长度。默认值为 28800 秒(即 8 小时)。
  • interactive_timeout 指定了一个交互式(即终端)连接在没有活动操作的情况下保持打开的时间长度。默认值为 28800 秒。

注意:MySQL 的连接超时时间只对处于空闲状态的连接有效,即当连接上没有发送任何请求或接收任何响应时,超过连接超时时间后将被关闭。

  1. 查看和更改连接超时参数
    可以通过 MySQL 的配置文件 my.cnf 来查看和更改连接超时参数。具体步骤如下:
  • 打开 my.cnf 文件,可以使用命令 vi /etc/my.cnf 或在 Windows 系统中直接编辑该文件。
  • 在文件中,查找 wait_timeoutinteractive_timeout 这两个参数,可以使用搜索功能快速找到。
  • 修改这两个参数的值为所需的连接超时时间。可以根据实际需求,设置较短的时间以提高系统的响应速度,或者设置较长的时间以减少重新建立连接的频率。
  • 保存并关闭文件。
  1. 动态修改连接超时参数
    除了在配置文件中修改连接超时参数之外,我们还可以通过 MySQL 命令动态修改这些参数。具体步骤如下:
  • 打开 MySQL 命令行客户端。
  • 执行以下命令来查看当前的连接超时参数:

    SHOW VARIABLES LIKE 'wait_timeout';
    SHOW VARIABLES LIKE 'interactive_timeout';
  • 使用以下命令来修改连接超时参数的值:

    SET GLOBAL wait_timeout = 600;
    SET GLOBAL interactive_timeout = 600;

    其中,600

  • wait_timeout spécifie la durée pendant laquelle une connexion non interactive (c'est-à-dire non terminale) reste ouverte sans opérations actives. La valeur par défaut est de 28 800 secondes (8 heures).

    interactive_timeout spécifie la durée pendant laquelle une connexion interactive (c'est-à-dire un terminal) reste ouverte sans opérations actives. La valeur par défaut est de 28 800 secondes.
  • Remarque : le délai d'expiration de la connexion de MySQL n'est valable que pour les connexions en état d'inactivité, c'est-à-dire que lorsqu'aucune demande n'est envoyée ou qu'aucune réponse n'est reçue sur la connexion, la connexion sera fermée après le délai d'attente est dépassé.
      Afficher et modifier les paramètres de délai d'expiration de connexion
    1. Vous pouvez afficher et modifier les paramètres de délai d'expiration de connexion via le fichier de configuration MySQL my.cnf. Les étapes spécifiques sont les suivantes :
    Pour ouvrir le fichier my.cnf, vous pouvez utiliser la commande vi /etc/ my.cnf Ou éditez le fichier directement sur un système Windows.
  • Dans le fichier, recherchez les deux paramètres wait_timeout et interactive_timeout Vous pouvez utiliser la fonction de recherche pour les retrouver rapidement.

  • Modifiez les valeurs de ces deux paramètres au délai d'expiration de connexion requis. Vous pouvez définir un délai plus court pour améliorer la vitesse de réponse du système, ou un délai plus long pour réduire la fréquence de rétablissement des connexions en fonction des besoins réels.
  • Enregistrez et fermez le fichier.

    Modifier dynamiquement les paramètres de délai de connexion #🎜🎜#En plus de modifier les paramètres de délai de connexion dans le fichier de configuration, nous pouvons également les modifier dynamiquement via Paramètre des commandes MySQL. Les étapes spécifiques sont les suivantes : #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Ouvrez le client de ligne de commande MySQL. #🎜🎜##🎜🎜##🎜🎜#Exécutez la commande suivante pour afficher les paramètres actuels du délai de connexion : #🎜🎜#
    SHOW VARIABLES LIKE 'wait_timeout';
    SHOW VARIABLES LIKE 'interactive_timeout';
    #🎜🎜##🎜🎜##🎜🎜#Utilisez la commande suivante pour modifier la valeur de le paramètre de timeout de connexion : #🎜🎜#
    sudo service mysql restart
    #🎜🎜# Parmi eux, 600 signifie fixer le timeout à 600 secondes, que vous pouvez modifier en fonction des besoins réels. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Exécutez la commande suivante pour confirmer que la valeur du paramètre a été modifiée : #🎜🎜#rrreee#🎜🎜##🎜🎜#Fermez le client de ligne de commande MySQL. #🎜🎜##🎜🎜##🎜🎜##🎜🎜#Redémarrer le service MySQL #🎜🎜#Après avoir modifié les paramètres de délai d'attente de connexion, nous devons redémarrer le service MySQL pour que les nouvelles valeurs des paramètres prennent effet. Les étapes spécifiques sont les suivantes : #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜# Utilisez la commande suivante pour redémarrer le service MySQL : #🎜🎜#rrreee#🎜🎜##🎜🎜# Assurez-vous que le service MySQL a été démarré avec succès. #🎜🎜##🎜🎜##🎜🎜#Grâce aux étapes ci-dessus, nous pouvons facilement définir le délai d'expiration de la connexion MySQL pour optimiser les performances et la stabilité du système. Dans les applications pratiques, nous pouvons ajuster le paramètre de délai d'expiration de la connexion en fonction de la charge du système et des besoins de l'entreprise. #🎜🎜#

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!

Déclaration:
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