.frm
tệp chỉ chứa siêu dữ liệu về cấu trúc của bảng. Chúng không chứa dữ liệu của bạn.
Đối với bảng MyISAM, .MYD
tệp về cơ bản là bảng (không có siêu dữ liệu hoặc chỉ mục); nếu nó biến mất, dữ liệu của bạn sẽ biến mất. Có thể có một cách để tạo các tệp "trống" và bắt đầu lại, nhưng đúng vậy. Không có chúng, bạn không có dữ liệu.
.MYI
tệp chứa chỉ mục, AFAIK. Chúng có thể được tạo lại, nhưng không phải là không có dữ liệu.
Tuy nhiên, nếu các bảng của bạn là bảng InnoDB, bạn có thể chúc may mắn. Sẽ không có .MYD
hoặc .MYI
cho các bảng InnoDB; thay vào đó dữ liệu có trong chúng sẽ ở ibdata1
. Bạn có thể (sau khi dừng mysqld) chỉ cần lén lấy .frm
và ib*
các tệp vào đúng vị trí và cho phép mysqld nhìn thấy chúng khi nó khởi động lại.
Tất nhiên, điều này sẽ không hoạt động nếu bạn đã có Các tệp dữ liệu InnoDB - hay đúng hơn, nếu có, bạn sẽ mất mọi bảng InnoDB hiện có. Tuy nhiên, trong trường hợp đó, bạn có thể đặt các tệp vào một thư mục khác và bắt đầu một cá thể mysqld trỏ đến thư mục đó. Như vậy là đủ để bạn mysqldump
một bảng dưới dạng SQL, vì vậy bạn có thể nhập nó vào cơ sở dữ liệu mới.