sql >> Databáze >  >> RDS >> Mysql

Vytvořené tabulky začínající na dotNetChat_ zmizí po restartování MySQL

Řekl bych, že z nějakého důvodu je MySQL odepřen přístup k souborům InnoDB, které pak nemůže načíst a pokračuje bez nich. Můžete ověřit, že váš proces není spuštěn dvakrát a že uživatel MySQL je spuštěn pod účtem, který má přístup k adresáři MySQL lib.

Svá zjištění zakládám na této chybě:

[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.

A chyba 32, na základě http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx znamená:

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

Což znamená, jak jsem řekl, že soubory jsou uzamčeny jiným procesem. A to se děje, když restartujete MySQL, protože když je vytvoříte, MySQL je má otevřené a jiný proces je nemůže zamknout. Jakmile je služba MySQL zastavena (pro restart), jiný proces zamkne soubory a MySQL je nemůže otevřít, když se znovu spustí.

Chcete-li zobrazit zamčené soubory ve vašem systému a zjistit, který proces je drží zamčený, můžete použít http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

Budete muset spustit CMD Prompt jako správce a napsat něco jako:

handle.exe thepwf_

Což by mělo ukázat, který proces drží soubory zamčené.

Dejte mi vědět, co jste našli.




  1. Jak NOW() interaguje s transakcemi?

  2. Vyberte datum z mé databáze bez sekund pomocí PHP MySql

  3. Jak použít SqlCommand k VYTVOŘENÍ DATABÁZE s parametrizovaným názvem db?

  4. integrace codeigniter nodejs a nowjs