Obtuve el código de error: 2013. Perdí la conexión al servidor MySQL durante el error de consulta cuando intenté agregar un índice a una tabla usando MySQL Workbench. También noté que aparece cada vez que ejecuto una consulta larga.
¿Hay alguna posibilidad de aumentar el tiempo de espera?
mysql
sql
database
mysql-workbench
usuario836026
fuente
fuente
DBMS connection read time out
campo solo acepta hasta 5 cifras, y establecer el campo en 0 es equivalente al parámetro predeterminado (600 segundos). (Windows 7 64-bit Ultimate, MySQL Workbench 5.2.47 CE)Iniciar el servidor de base de datos con la opción comandline
net_read_timeout
/wait_timeout
y un valor adecuado (en segundos) - por ejemplo:--net_read_timeout=100
.Para referencia ver aquí y aquí .
fuente
mysqld
.Si su consulta tiene datos de blob, este problema se puede solucionar aplicando un
my.ini
cambio como se propone en esta respuesta :Por defecto, esto será 1M (el valor máximo permitido es 1024M). Si el valor suministrado no es un múltiplo de 1024K, se redondeará automáticamente al múltiplo más cercano de 1024K.
Mientras que el hilo se hace referencia es sobre el error de MySQL 2006 , fijando el
max_allowed_packet
de 1M a 16M hizo corregir el error 2013, que se presentó para mí cuando se ejecuta una consulta larga.Para usuarios de WAMP: encontrará la bandera en la
[wampmysqld]
sección.fuente
Agregue lo siguiente al archivo / etc / mysql / cnf:
ejemplo:
fuente
/etc/mysql/cnf
es correcto? ¿No debería ser/etc/my.cnf
?Advertencia: Lo siguiente no funcionará cuando lo esté aplicando en una conexión remota:
fuente
Hay tres causas probables para este mensaje de error
Causa 2:
desde su valor predeterminado de 30 segundos a 60 segundos o más
Causa 3:
fuente
Gracias, funcionó. Pero con las actualizaciones de mysqldb, la configuración se ha convertido en:
doc mysql
fuente
Debe establecer las propiedades 'interactive_timeout' y 'wait_timeout' en el archivo de configuración mysql a los valores que necesita.
fuente
Simplemente realizar una actualización de MySQL que volver a construir INNODB junto con la reconstrucción de muchas tablas necesarias para el buen funcionamiento de MySQL tales como
performance_schema
,information_schema
, etc.Emita el siguiente comando desde su shell:
fuente
Sé que es viejo pero en Mac
fuente
Cambie el tiempo de "tiempo de espera de lectura" en Edición-> Preferencias-> Editor SQL-> sesión MySQL
fuente
Intente desmarcar filas de límite en Edición → Preferencias → Consultas SQL
porque debe establecer las propiedades 'interactive_timeout' y 'wait_timeout' en el archivo de configuración de mysql a los valores que necesita.
fuente
Si experimenta este problema durante la restauración de un gran archivo de volcado y puede descartar el problema de que tiene algo que ver con la red (por ejemplo, ejecución en localhost), entonces mi solución podría ser útil.
Mi mysqldump contenía al menos un INSERT que era demasiado grande para que mysql lo calculara. Puede ver esta variable escribiendo
show variables like "net_buffer_length";
dentro de su mysql-cli. Tienes tres posibilidades:--skip-extended-insert
, por inserción se usa una línea -> aunque estos volcados son mucho más agradables de leer, esto no es adecuado para volcados grandes> 1 GB porque tiende a ser muy lento--net-buffer_length NR_OF_BYTES
donde NR_OF_BYTES es más pequeño que la longitud de búfer de red del servidor -> Creo que esta es la mejor solución, aunque más lento no es necesario reiniciar el servidor.Usé el siguiente comando mysqldump:
mysqldump --skip-comments --set-charset --default-character-set=utf8 --single-transaction --net-buffer_length 4096 DBX > dumpfile
fuente
Tengo el mismo problema al cargar un archivo .csv. Convierte el archivo a .sql.
Usando el siguiente comando, me las arreglo para solucionar este problema.
Espero que esto ayude.
fuente
Si todas las otras soluciones aquí fallan, verifique su syslog (/ var / log / syslog o similar) para ver si su servidor se está quedando sin memoria durante la consulta.
Tuve este problema cuando innodb_buffer_pool_size se configuró demasiado cerca de la memoria física sin un archivo de intercambio configurado. MySQL recomienda para una configuración de servidor específica de la base de datos innodb_buffer_pool_size en un máximo de alrededor del 80% de la memoria física , lo configuré en alrededor del 90%, el núcleo estaba matando el proceso mysql. Se movió innodb_buffer_pool_size de nuevo a alrededor del 80% y eso solucionó el problema.
fuente
En mi caso, establecer el intervalo de tiempo de espera de conexión a 6000 o algo más alto no funcionó.
Acabo de hacer lo que el banco de trabajo dice que puedo hacer.
En las Preferencias de Mac -> Editor SQL -> Ir a la sesión MySQL -> establecer el intervalo de tiempo de espera de lectura de conexión a 0.
Y funciona 😄
fuente
Me enfrenté a este mismo problema. Creo que sucede cuando tienes claves foráneas para tablas más grandes (lo que lleva tiempo).
Intenté volver a ejecutar la instrucción de creación de tabla sin las declaraciones de clave externa y descubrí que funcionaba.
Luego, después de crear la tabla, agregué las restricciones de clave externa utilizando la consulta ALTER TABLE.
Espero que esto ayude a alguien.
fuente
Esto me sucedió porque mi innodb_buffer_pool_size estaba configurado para ser más grande que el tamaño de RAM disponible en el servidor. Las cosas se interrumpieron debido a esto y emite este error. La solución es actualizar my.cnf con la configuración correcta para innodb_buffer_pool_size.
fuente
Vaya a Edición de Workbench → Preferencias → Editor SQL → Tiempo de espera de lectura de conexiones DBMS: hasta 3000. El error ya no se produjo.
fuente
Ir:
Editar -> Preferencias -> Editor SQL
Allí puede ver tres campos en el grupo "Sesión de MySQL", donde ahora puede establecer los nuevos intervalos de conexión (en segundos).
fuente
Resulta que nuestra regla de firewall estaba bloqueando mi conexión a MYSQL. Después de levantar la política de firewall para permitir la conexión, pude importar el esquema con éxito.
fuente
Tuve el mismo problema, pero para mí la solución era un usuario de DB con permisos demasiado estrictos. Tenía que permitir la
Execute
habilidad sobre lamysql
mesa. Después de permitir eso, ya no tenía más conexiones.fuente
Compruebe si los índices están en su lugar primero.
fuente
Me encontré con esto mientras ejecutaba un proceso almacenado que creaba muchas filas en una tabla en la base de datos. Pude ver el error justo después de que el tiempo cruzó el límite de 30 segundos.
Intenté todas las sugerencias en las otras respuestas. Sin embargo, estoy seguro de que algo ayudó, lo que realmente hizo que funcionara para mí fue cambiar a SequelPro desde Workbench.
Supongo que fue una conexión del lado del cliente que no pude detectar en Workbench. ¿Quizás esto ayude a alguien más también?
fuente
Si está usando SQL Work Bench, puede intentar usar Indexing, agregando un índice a sus tablas, para agregar un índice, haga clic en el símbolo de llave inglesa (llave) en la tabla, debería abrir la configuración de la tabla, a continuación , haga clic en la vista de índice, escriba un nombre de índice y establezca el tipo en índice. En las columnas de índice, seleccione la columna principal en su tabla.
Realice el mismo paso para otras claves primarias en otras tablas.
fuente
Parece que falta una respuesta aquí para aquellos que usan SSH para conectarse a su base de datos MySQL. Debe marcar dos lugares, no 1, como sugieren otras respuestas:
Workbench Editar → Preferencias → Editor SQL → DBMS
Workbench Editar → Preferencias → SSH → Tiempos de espera
Mis tiempos de espera de SSH predeterminados se establecieron muy bajos y causaron algunos (pero aparentemente no todos) de mis problemas de tiempo de espera. Después, ¡no olvide reiniciar MySQL Workbench!
Por último, puede valer la pena contactar a su administrador de base de datos y pedirles que aumenten las propiedades wait_timeout & interactive_timeout en mysql a través de my.conf + mysql restart o haciendo un conjunto global si reiniciar mysql no es una opción.
¡Espero que esto ayude!
fuente
Tres cosas a seguir y asegúrese de:
Respuestas:
fuente
consultar sobre
Espero que esto ayude
fuente
Esto generalmente significa que tiene "incompatibilidades con la versión actual de MySQL Server", consulte mysql_upgrade. Me encontré con este mismo problema y simplemente tuve que ejecutar:
mysql_upgrade --password La documentación indica que "mysql_upgrade debe ejecutarse cada vez que actualice MySQL".
fuente