21 votos

De recursos para mysqldump

Estoy tratando de hacer un mysqldump en un Windows server y me sale el siguiente mensaje de error :

mysqldump: Got error: 23: Out of resources when opening file '.\db\sometable.MYD' (Errcode: 24) when using LOCK TABLES

Aquí está el comando que me estoy quedando :

mysqldump -u user -p"pass" --lock-tables --default-character-set=latin1 -e --quick databasename > "query.sql"

Reiniciar el servicio de mysql no ayuda.

Siempre me sale el mensaje de la misma tabla.

He tratado de reducir la table_cache y max_connections variables de 64 a 32 y 30 a las 10, respectivamente, pero me sigue apareciendo el error, sólo que esta vez de una tabla diferente (y a partir de ahora el mensaje de error es siempre; indicándolo así en la segunda tabla).

La misma secuencia de comandos se ejecuta en una docena de otros Windows servidores de tener la misma base de datos sin problemas.

Todas las bases de datos del 85 tablas.

24voto

JohnD Puntos 123

De acuerdo a aquí - "error de sistema operativo de código 24: Demasiados archivos abiertos", que con las líneas más en general, de 23 de error "sin recursos".

De modo que parece como si está ejecutando fuera de identificadores de archivo. Este es generalmente el servidor de fin de establecer o problema, ya sea en MySQL, o en el propio sistema operativo.

Tal vez compruebe/ajuste el --open-files-limit configuración de MySQL a sí mismo y ver si eso ayuda.

También, tal vez intente ejecutar el vertedero, mientras que nadie más está usando la base de datos, con la --single-transaction de ajuste en lugar de --Lock-File, ya que varias personas sugieren que este trabajo será de una tabla en un momento en lugar de abrirlos todos a la vez (por lo tanto con menos identificadores de archivo).

Más allá de que usted probablemente tendrá que encontrar una causa de por qué este particular se está ejecutando el servidor de recursos. Que probablemente implican la solución de problemas mediante la desactivación de todos los servicios/procesos como sea posible y ver si el volcado pasa a través de. A continuación, la figura de ahí que el culpable es el que consume muchos recursos y que quizás no liberar a ellos correctamente.

6voto

davey Puntos 4873

Está usted en una posición para tratar con --single-transaction en lugar de --lock-tables por ejemplo, las tablas son InnoDB y no están utilizando las tablas de Clústeres y que ALTER TABLE, DROP TABLE, cambiar el nombre de la TABLA, TRUNCATE TABLE no va a suceder durante el volcado? Mejor confirmar que esto está bien con su soporte para MySQL org si usted tiene uno.

Yo sólo he probado esto en unix, pero, básicamente, si lo intento con una base de datos con más de 2000 tablas del falla con el error similar a la tuya por ejemplo, he usado todas mis identificadores de archivo abierto.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: