Mysql
 sql >> Base de données >  >> RDS >> Mysql

Perdre la connexion à MySQL après un certain temps et ne pas se reconnecter

Comme vous le suggérez, c'est parce que mysql ferme les connexions inactives après chaque wait_timeout passe; vous avez quelques options pour contourner votre problème :

  • utiliser un gestionnaire de pool de connexions, comme c3p0 ou apache DBCP . Cela prendra en charge la revalidation des connexions sur demande, éventuellement vous pouvez spécifier quelle requête exécuter pour tester si la connexion est active.
  • définir wait_timeout dans mysql suffisamment grand pour votre cas d'utilisation (la valeur par défaut est de 8 heures).
  • configurer une tâche planifiée (par exemple en utilisant quartz ) qui actualise les connexions, "ping" le serveur mysql.