Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Tabelas que crio que começam com dotNetChat_ desaparecem após reiniciar o MySQL


Eu diria que, por algum motivo, o MySQL tem acesso negado aos arquivos InnoDB, que não podem ser carregados e continua sem eles. Você pode verificar se o seu processo não é executado duas vezes e se o usuário do MySQL é executado na conta que tem acesso ao diretório lib do MySQL.

Eu baseio minhas descobertas neste erro:
[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.

E erro 32, baseado em 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.

O que significa, como eu disse, que os arquivos estão sendo bloqueados por outro processo. E isso está acontecendo quando você reinicia o MySQL porque quando você os cria, o MySQL os abre e outro processo não pode bloqueá-los. Assim que o serviço MySQL é interrompido (para reinicialização), outro processo bloqueia os arquivos e o MySQL não pode abri-los quando é inicializado novamente.

Para ver arquivos bloqueados em seu sistema e qual processo está mantendo-o bloqueado, você pode usar http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

Você precisaria executar o CMD Prompt como administrador e digitar algo como:
handle.exe thepwf_

Que deve mostrar qual processo está mantendo os arquivos bloqueados.

Deixe-me saber o que você encontrar.