Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Các bảng tôi tạo bắt đầu bằng dotNetChat_ biến mất sau khi khởi động lại MySQL

Tôi sẽ nói rằng vì một số lý do, MySQL bị từ chối truy cập vào các tệp InnoDB, sau đó nó không thể tải và tiếp tục mà không có chúng. Bạn có thể xác minh rằng quy trình của bạn không chạy hai lần và người dùng MySQL được chạy trong tài khoản có quyền truy cập vào thư mục lib của MySQL không.

Tôi căn cứ vào phát hiện của mình về lỗi này:

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

Và lỗi 32, dựa trên http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx nghĩa là:

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

Có nghĩa là, như tôi đã nói, các tệp đang bị khóa bởi một quy trình khác. Và nó đang xảy ra khi bạn khởi động lại MySQL vì khi bạn tạo chúng, MySQL đã mở chúng và một quá trình khác không thể khóa chúng. Ngay sau khi dịch vụ MySQL bị dừng (để khởi động lại), một quá trình khác sẽ khóa các tệp và MySQL không thể mở chúng khi nó khởi động lại.

Để xem các tệp bị khóa trên hệ thống của bạn và quá trình nào đang giữ nó bị khóa, bạn có thể sử dụng http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx

Bạn sẽ cần chạy CMD Prompt với tư cách quản trị viên và nhập một cái gì đó như:

handle.exe thepwf_

Điều này sẽ hiển thị quy trình nào đang giữ các tệp bị khóa.

Hãy cho tôi biết những gì bạn tìm thấy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách ngăn chặn lỗi này:Cảnh báo:mysql_fetch_assoc () mong đợi tham số 1 là tài nguyên, boolean được cung cấp trong ... trên dòng 11

  2. Cách lưu các vị trí portlet

  3. Nhiều cơ sở dữ liệu và giao dịch

  4. Lưu trữ thời gian giữa các bản ghi

  5. Mysql:kết quả từ bảy ngày qua