何らかの理由で、MySQLはInnoDBファイルへのアクセスを拒否され、そのファイルをロードできず、ファイルなしで続行します。プロセスが2回実行されていないこと、およびMySQLユーザーがMySQLlibディレクトリにアクセスできるアカウントで実行されていることを確認できますか。
私はこのエラーに基づいて調査結果を出しました:
[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.
また、エラー32は、に基づいています。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx 意味:
ERROR_SHARING_VIOLATION
32 (0x20)
The process cannot access the file because it is being used by another process.
これは、私が言ったように、ファイルが別のプロセスによってロックされていることを意味します。また、MySQLを再起動すると、MySQLでそれらが開かれ、別のプロセスでロックできないため、これが発生します。 MySQLサービスが(再起動のために)停止されるとすぐに、別のプロセスがファイルをロックし、MySQLが再起動したときにファイルを開くことができなくなります。
システム上のロックされたファイルと、それをロックしているプロセスを確認するには、 http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx
管理者としてCMDプロンプトを実行し、次のように入力する必要があります。
handle.exe thepwf_
これにより、どのプロセスがファイルをロックしているのかがわかります。
見つけたものを教えてください。