Zend_Db_Statement_Exception: SQLSTATE[HY000]: General error: 126 Incorrect key file for table '/tmp/#sql_.MYI'; try to repair it

Created:

2016-11-16 12:41:10 UTC

Modified:

2017-05-25 05:47:46 UTC

3

Was this article helpful?


Have more questions?

Enviar una solicitud

Zend_Db_Statement_Exception: SQLSTATE[HY000]: General error: 126 Incorrect key file for table '/tmp/#sql_.MYI'; try to repair it

Síntomas

En el interfaz de Plesk puede verse un error parecido al siguiente:

ERROR: Zend_Db_Statement_Exception: SQLSTATE[HY000]: General error: 126 Incorrect key file for table '/tmp/#sql_3aef_0.MYI'; try to repair it (Pdo.php:234)

Causa

En una partición usada por MySQL para la creación de archivos temporales no existe suficiente espacio en disco.

Resolución

Modifique el archivo 'my.cnf' y haga que la directiva 'tmpdir' apunte a una partición que disponga de suficiente espacio en disco. Por ejemplo:

[mysqld]
tmpdir = /some/path/where/enough/space

En Linux : compruebe que todos los usuarios pueden leer, escribir y ejecutar el directorio y que este tiene un 'sticky bit':

# ls -lda /some/path/where/enough/space
drwxrwxrwt 2 root root 4096 Jun 1 02:18 /some/path/where/enough/space

En Windows : compruebe que los permisos son correctos:

> icacls "disk:\\where\\enough\\space"
disk:\\where\\enough\\space NT AUTHORITY\\NETWORK SERVICE:(CI)(RX,D,WD,AD)
WIN-HOSTNAME\\PP_WPG:(CI)(RX)
WIN-HOSTNAME\\psaserv:(CI)(RX)
WIN-HOSTNAME\\psacln:(CI)(RX)
WIN-HOSTNAME\\psaadm:(CI)(RX)
WIN-HOSTNAME\\psaadm:(OI)(IO)(R)
BUILTIN\\Users:(CI)(S,WD,AD,X)
BUILTIN\\IIS_IUSRS:(OI)(CI)(S,RD)
CREATOR OWNER:(OI)(CI)(IO)(F)
NT AUTHORITY\\SYSTEM:(OI)(CI)(F)
BUILTIN\\Administrators:(OI)(CI)(F)

En Windows, puede encontrar el archivo 'my.cnf' examinando las propiedades del servicio 'MySQL' ( Ejecutar > services.msc ). Aquí debería ver una opción similar en el servicio 'Ruta a ejecutar': '--defaults-file=C:\\Program Files (x86)\\Parallels\\Plesk\\Databases\\MySQL\\Data\\my.ini'

En Linux, ' my.cnf' se encuentra de forma predeterminada en el directorio '/etc' o en el directorio '/etc/mysql' .

Si se trata de una máquina virtual o un contenedor, también puede ampliar el espacio en disco disponible para el servidor.

¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.