wait_timeout query permanent cnf change aumentar mysql timeout

query - set wait_timeout mysql permanent



Cómo prevenir los tiempos de espera de conexión para las grandes importaciones de MySQL (3)

Durante el desarrollo, la forma en que nuestros servidores WAMP locales obtienen datos actualizados del servidor de prueba es que se realiza un volcado de la base de datos y cargamos ese volcado utilizando el comando de origen para cargar el archivo .sql.

Recientemente, al final de la importación, hemos estado recibiendo errores acerca de las variables @old que almacenaban la configuración original, como las restricciones de clave externa antes de que se modifiquen (por lo tanto, desactive las restricciones de clave externa para que la importación no genere errores cuando recrea las tablas e intenta crear claves externas cuando una de las tablas aún no se ha creado). He descubierto que la causa es que la tabla del producto está obteniendo cada vez más datos y, en un momento dado, la sesión ha caducado durante la importación.

Me pregunto qué configuración puedo establecer (ya sea como parte de la consulta SQL en el archivo my.ini) que detendrá todos los tiempos de espera, haciendo que una sesión dure para siempre mientras iniciamos sesión.


Estrategias para importar grandes bases de datos MySQL

Importación PHPMyAdmin

Lo más probable es que si está leyendo esto, PHPMyAdmin no era una opción para la importación de su gran base de datos MySQL. Sin embargo, siempre vale la pena intentarlo, ¿verdad? La causa más común de falla para las importaciones de PHPMyAdmin es sobrepasar el límite de importación. Si está trabajando localmente o tiene su propio servidor, puede intentar cambiar la configuración de MySQL ini que generalmente se encuentra en el archivo my.ini ubicado en la carpeta de instalación de MySQL. Si está trabajando con WAMP en Windows, puede acceder a ese archivo utilizando el panel de control de WAMP en MySQL> my.ini. Recuerda reiniciar WAMP para que se usen tus nuevos ajustes. Las configuraciones que puede querer aumentar aquí incluyen:

max_allowed_packet read_buffer_size

Incluso con la configuración de importación de MySQL mejorada, es posible que las importaciones se agoten debido a la configuración de PHP. Si tiene acceso a PHP.ini, puede realizar modificaciones en el tiempo máximo de ejecución y la configuración relacionada. En WAMP, acceda al archivo PHP.ini en el panel de control de WAMP en PHP> php.ini. Considere aumentar los límites de la siguiente configuración al intentar grandes importaciones de MySQL:

max_execution_time max_input_time memory_limit

Usando Big Dump el importador de volcado de MySQL escalonado

Si la importación básica de PHPMyAdmin no funciona, es posible que desee probar el script Big Dump de Ozerov.de para las importaciones de MySQL escalonadas. Lo que hace este script útil es ejecutar su importación en bloques más pequeños, que es exactamente lo que a menudo se necesita para importar con éxito un volcado MySQL grande. Es una descarga gratuita disponible en http://www.ozerov.de/bigdump/ .

El proceso de usar Big Dump es bastante simple: básicamente, coloca el archivo de importación de SQL y el script de Big Dump juntos en el servidor, establece algunas configuraciones en el script de Big Dump y luego ejecuta el script. Big Dump se encarga del resto!

Un punto clave de esta excelente opción, es que no funcionará en absoluto en las exportaciones de MySQL que contienen inserciones extendidas. Entonces, si tiene la opción de evitar inserciones extendidas, inténtelo. De lo contrario, tendrá que usar otro método para importar su gran archivo MySQL.

Ir a la línea de comandos con la consola MySQL

Si está ejecutando WAMP (e incluso si no lo está), siempre existe la opción de ir al grano e importar su gran base de datos MySQL usando la consola MySQL. Estoy importando una base de datos de 4GB de esta manera mientras escribo este post. En realidad, es por eso que tengo algo de tiempo para escribir, porque incluso este método toma tiempo cuando tienes que importar un archivo SQL de 4GB.

Algunos desarrolladores (generalmente yo) se sienten intimidados al abrir una pantalla negra y al escribir comandos crípticos en ella. Pero puede ser liberador, y cuando se trata de bases de datos MySQL, a menudo es la mejor ruta a seguir. En WAMP accedemos a la consola MySQL desde el panel de control de WAMP en MySQL> MySQL Console. Ahora aprendamos los 2 simples comandos de la consola MySQL que necesita para importar una base de datos MySQL, estilo de línea de comandos:

use `db_name`

El use comando seguido del nombre de la base de datos le indicará a la consola MySQL qué base de datos desea utilizar. Si ya ha configurado la base de datos a la que está importando, comience emitiendo el comando de use . Supongamos que su base de datos se llama my_great_database . En este caso, emita el siguiente comando en la Consola MySQL. Tenga en cuenta que los comandos deben terminar con un punto y coma.

mysql-> use my_great_database; mysql-> source sql_import_file.sql

El source comando seguido por la ubicación de un archivo SQL importará el archivo SQL a la base de datos que especificó previamente con el comando use . Debe proporcionar la ruta, por lo que si está usando WAMP en su servidor local, comience por colocar el archivo SQL en un lugar fácil de obtener, como C: / sql / my_import.sql. El comando completo con esta ruta de ejemplo sería:

mysql-> source C:/sql/my_import.sql;

Después de ejecutar ese comando, el archivo SQL debe comenzar a importarse. Deje que las consultas se ejecuten y permita que la importación se complete antes de cerrar la consola MySQL.

Puede encontrar más documentación sobre la línea de comandos de MySQL aquí: http://dev.mysql.com/doc/refman/5.5/en/mysql.html .

Otra solución es usar MySQL Workbench .


Considere el uso de MySQL Workbench , es gratuito y maneja muy bien el script muy grande (en el menú elija: Archivo -> Abrir script SQL : si es grande, le preguntará si desea ejecutarlo). Me ha servido bien a lo largo de los años al trabajar con grandes volcados de SQL.


Esta solución funcionó para mí:

max_allowed_packet <-- --> upped size to 8M read_buffer_size <-- --> upped from 256 to 512

Usando el panel de control de Xampp en localhost. Después de realizar los cambios en el archivo my.ini en la configuración de MySQL, no olvide salir de Xampp (o Wamp) y reinícielo para que los cambios surtan efecto.

(Cuatro días de golpes de cabeza y finalmente lo arreglé!)

Los síntomas estaban en Import: # 2006 MySql servidor desapareció. Sin embargo, solo se importaron 10 filas de tabla de 87 filas de tabla.