MySQL

What is auto reconnect in MySQL? Qu'est-ce que Auto reconnecter au serveur MySQL?

The MySQL client library can perform an automatic reconnect to the server if it finds that the connection is down when you attempt to send a statement to the server to be executed. La bibliothèque cliente de MySQL peut réaliser automatiquement une reconnecter au serveur si elle constate que la connexion est en panne lorsque vous tentez d'envoyer une déclaration au serveur à exécuter. In this case, the library tries once to reconnect to the server and send the statement again. Dans ce cas, la bibliothèque essaie de se reconnecter une fois au serveur et d'envoyer la déclaration.

Automatic reconnection can be convenient because you need not implement your own reconnect code, but if a reconnection does occur, several aspects of the connection state are reset and your application will not know about it. Reconnexion automatique peut être commode parce que vous n'avez pas besoin de mettre en oeuvre votre propre code reconnecter, mais si une reconnexion ne se produisent, plusieurs aspects de l'état de connexion sont réinitialisés et votre demande ne fera pas le savoir. This is extremely useful if you long running persistent connections to the database. Cela est extrêmement utile si vous de longue date les connexions persistantes à la base de données. Also if you have too many sql queries / use connection pool etc. auto reconnect is a handy feature. De plus, si vous avez trop de requêtes sql / utilisation pool de connexions etc reconnecter automatiquement est une fonctionnalité pratique. Let’s look at how to enable / disable auto reconnect in MySQL and what are the side-effects of enabling auto reconnect. Regardons comment activer / désactiver l'auto reconnecter au serveur MySQL et quels sont les effets secondaires permettant de se reconnecter automatiquement.

How to enable MySQL client auto reconnect Comment permettre à MySQL client reconnecter automatiquement

my_bool reconnect = 1; my_bool reconnecter = 1;
mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect); mysql_options (& mysql, MYSQL_OPT_RECONNECT, et rebranchez);

What are the side-effects of MySQL auto reconnect? Quels sont les effets secondaires de MySQL reconnecter automatiquement?

  • Any active transactions are rolled back and autocommit mode is reset. Toute les transactions actives sont annulées et l'auto-mode est à zéro.
  • All table locks are released. Tous tableau écluses sont libérés.
  • All TEMPORARY tables are closed (and dropped). Toutes les tables temporaires sont fermées (et supprimée).
  • Session variables are reinitialized to the values of the corresponding variables. Variables de session sont réinitialisation aux valeurs des variables correspondantes. This also affects variables that are set implicitly by statements such as SET NAMES. Cela affecte également les variables qui sont définies implicitement par des mentions telles que SET NAMES.
  • User variable settings are lost. Variable utilisateur paramètres sont perdus.
  • Prepared statements are released. Préparé déclarations sont libérés.
  • HANDLER variables are closed. HANDLER variables sont fermés.
  • The value of LAST_INSERT_ID() is reset to 0. La valeur de LAST_INSERT_ID () est remis à 0.
  • Locks acquired with GET_LOCK() are released. Serrures acquis avec GET_LOCK () sont rejetées.
  • mysql_ping() does not attempt a reconnection if the connection is down. mysql_ping () n'est pas une tentative de reconnexion si la connexion est en panne. It returns an error instead. Elle retourne une erreur.

Source

How to disable MySQL client auto reconnect Comment désactiver le client MySQL reconnecter automatiquement

In view of the side-effects you may want to disable auto reconnect. Compte tenu des effets secondaires mai vous voulez désactiver reconnecter automatiquement. In MySQL version 5.1 and above auto reconnect is disabled by default. En MySQL version 5,1 et au-dessus de reconnecter automatiquement est désactivée par défaut. In any version you can disable auto reconnect with the following PHP code: Dans n'importe quelle version vous pouvez désactiver l'auto renouer avec le code PHP suivant:
my_bool reconnect = 0; my_bool reconnecter = 0;
mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect); mysql_options (& mysql, MYSQL_OPT_RECONNECT, et rebranchez);