MySQL

What is auto reconnect in MySQL? ¿Qué es "Auto reconectar a 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 biblioteca cliente de MySQL puede realizar una reconexión automática al servidor cuando compruebe que la conexión se establecen cuando trate de enviar una declaración al servidor para ser ejecutado. In this case, the library tries once to reconnect to the server and send the statement again. En este caso, la biblioteca una vez que intenta volver a conectar con el servidor y enviar la declaración de nuevo.

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. Reconexión automática puede ser conveniente porque es necesario no aplicar su propio código de reconectar, pero si una reconexión ocurre, varios aspectos de la relación estado se restablecen y su aplicación no sabe nada al respecto. This is extremely useful if you long running persistent connections to the database. Esto es muy útil si larga data conexiones persistentes a la base de datos. Also if you have too many sql queries / use connection pool etc. auto reconnect is a handy feature. También si tiene demasiadas consultas SQL / uso relación piscina etc auto reconectar es una característica práctica. Let’s look at how to enable / disable auto reconnect in MySQL and what are the side-effects of enabling auto reconnect. Echemos un vistazo a la manera de activar / desactivar auto reconectar a MySQL y cuáles son los efectos secundarios de permitir que vuelva a auto.

How to enable MySQL client auto reconnect ¿Cómo permitir a los clientes de MySQL auto reconectar

my_bool reconnect = 1; my_bool volver = 1;
mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect); mysql_options (& mysql, MYSQL_OPT_RECONNECT, y reconectar);

What are the side-effects of MySQL auto reconnect? ¿Cuáles son los efectos secundarios de reconexión automática MySQL?

  • Any active transactions are rolled back and autocommit mode is reset. Cualquier activa las transacciones se deshacen y modo autocommit se reinicia.
  • All table locks are released. Todos los bloqueos de tabla son puestos en libertad.
  • All TEMPORARY tables are closed (and dropped). Todos los cuadros temporales están cerrados (y cayó).
  • Session variables are reinitialized to the values of the corresponding variables. Sesión variables son reinicializadas a los valores de las variables correspondientes. This also affects variables that are set implicitly by statements such as SET NAMES. Esto también afecta a variables que se definen implícitamente las declaraciones como SET NAMES.
  • User variable settings are lost. Variable de configuración del usuario se pierden.
  • Prepared statements are released. Declaraciones preparadas son puestos en libertad.
  • HANDLER variables are closed. HANDLER variables están cerrados.
  • The value of LAST_INSERT_ID() is reset to 0. El valor de LAST_INSERT_ID () se reinicia a 0.
  • Locks acquired with GET_LOCK() are released. Bloqueos adquiridos con GET_LOCK () son liberados.
  • mysql_ping() does not attempt a reconnection if the connection is down. mysql_ping () no se intenta una reconexión si la conexión está inactiva. It returns an error instead. Devuelve un error en lugar.

Source Fuente

How to disable MySQL client auto reconnect Cómo desactivar cliente de MySQL auto reconectar

In view of the side-effects you may want to disable auto reconnect. En vista de los efectos secundarios puede que quiera volver a desactivar auto. In MySQL version 5.1 and above auto reconnect is disabled by default. En MySQL versión 5,1 y por encima de auto reconectar está desactivado por defecto. In any version you can disable auto reconnect with the following PHP code: En cualquier versión, puede desactivar auto volver a contactar con el siguiente código PHP:
my_bool reconnect = 0; my_bool volver a = 0;
mysql_options(&mysql, MYSQL_OPT_RECONNECT, &reconnect); mysql_options (& mysql, MYSQL_OPT_RECONNECT, y reconectar);