Điều này vừa xảy ra với tôi và sau một thời gian, tôi đã tìm thấy câu trả lời trên một bài báo trên blog và cũng muốn đưa nó vào đây.
Nếu bạn sao chép thư mục dữ liệu MySQL từ /var/lib/mysql
tới /path/to/new/dir
, nhưng chỉ sao chép các thư mục cơ sở dữ liệu (tức là mysql
, wpdb
, ecommerce
, v.v.) VÀ bạn có bảng innodb, bảng innodb của bạn sẽ hiển thị trong 'bảng hiển thị' nhưng các truy vấn trên đó (select
và describe
) sẽ không thành công với lỗi Mysql error: table db.tableName doesn't exist
. Bạn sẽ thấy .frm
trong thư mục db và tự hỏi tại sao.
Đối với bảng innodb, điều quan trọng là phải sao chép qua ib*
các tệp, trong trường hợp của tôi là ibdata1
, ib_logfile0
và ib_logfile1
. Sau khi tôi thực hiện chuyển, hãy đảm bảo sao chép những thứ đó, mọi thứ hoạt động như mong đợi.
Nếu tệp my.cnf của bạn chứa "innodb_file_per_table" thì tệp .ibd sẽ có trong thư mục db nhưng bạn vẫn cần tệp ib *.