tôi khôi phục lại tất cả các cơ sở dữ liệu từ một tập tin mysqldump và đang nhận được lỗi sau:ERROR 1005 (HY000) tại dòng 156: Không thể tạo bảng 'db1.testtable' (errno: 121)
ERROR 1005 (HY000) at line 156: Can't create table 'db1.testtable' (errno: 121)
Khi SQL của tôi đã được tạo ra từ tiện ích mysqldump, tôi nhầm lẫn về cách một lỗi đã xuất hiện trong mã SQL!
Các dòng có liên quan trong dump.sql của tôi là:
CREATE TABLE `testtable` (
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
`emailaddress` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Cảm ơn, Jim
111013 9:30:47 InnoDB: Lỗi: bảng 'db1'.'testtable' đã tồn tại trong InnoDB internal InnoDB: từ điển dữ liệu. Bạn đã xóa tập tin .frm InnoDB: và không sử dụng DROP TABLE? Bạn đã sử dụng DROP DATABASE InnoDB: cho các bảng InnoDB trong phiên bản MySQL <= 3.23.43 chưa? InnoDB: Xem phần Hạn chế trong cẩm nang của InnoDB. InnoDB: Bạn có thể thả bảng mồ côi bên trong InnoDB bằng cách InnoDB: tạo một bảng InnoDB có cùng tên trong InnoDB: cơ sở dữ liệu và sao chép tệp .frm vào cơ sở dữ liệu hiện tại. InnoDB: Sau đó MySQL nghĩ rằng bảng tồn tại, và DROP TABLE sẽ InnoDB: thành công. –
@ user993052 Tôi nghĩ những hướng dẫn đó khá rõ ràng! :-) – ManseUK
** bold ** Lỗi: bảng db1.testtable đã tồn tại trong InnoDB nội bộ InnoDB: từ điển dữ liệu. ** bold ** Tôi giả sử chúng ta đang nói về ibdata1, ib_logfile0, ib_logfile1 files? Tôi sẽ thử xóa chúng và bắt đầu tải từ dump.sql từ đầu. –