sql >> Base de Datos >  >> RDS >> Mysql

Las tablas que creo que comienzan con dotNetChat_ desaparecen después de reiniciar MySQL

Diría que, por alguna razón, a MySQL se le niega el acceso a los archivos InnoDB, que luego no puede cargar y continúa sin ellos. ¿Puede verificar que su proceso no se ejecuta dos veces y que el usuario de MySQL se ejecuta con una cuenta que tiene acceso al directorio lib de MySQL?

Baso mis conclusiones en este error:

[ERROR] InnoDB: Failed to find tablespace for table "thepwf_prgminteractions"."dotnetchat_testtable" in the cache. Attempting to load the tablespace with space id 24.
2014-03-05 18:05:33 0x1f30  InnoDB: Operating system error number 32 in a file operation.
InnoDB: The error means that another program is using InnoDB's files.
InnoDB: This might be a backup or antivirus software or another instance
InnoDB: of MySQL. Please close it to get rid of this error.

Y el error 32, basado en http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx significa:

ERROR_SHARING_VIOLATION
32 (0x20)
The process cannot access the file because it is being used by another process.

Lo que significa, como dije, que los archivos están siendo bloqueados por otro proceso. Y sucede cuando reinicia MySQL porque cuando los crea, MySQL los tiene abiertos y otro proceso no puede bloquearlos. Tan pronto como se detiene el servicio MySQL (para reiniciar), otro proceso bloquea los archivos y MySQL no puede abrirlos cuando se inicia de nuevo.

Para ver los archivos bloqueados en su sistema y qué proceso los mantiene bloqueados, puede usar http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

Debería ejecutar CMD Prompt como administrador y escribir algo como:

handle.exe thepwf_

Que debería mostrar qué proceso mantiene los archivos bloqueados.

Déjame saber lo que encuentras.