Em chào anh Phuong and all,
Em lại miệt mài upload moodle lên host mới ạ, lần này lại bị lỗi khi import database. Nhờ anh và mọi người nếu gặp case này rồi thì cho em xin ít lời khuyên với ạ.
Em cảm ơn.

Chào bạn,
Trước hết, thaytro.net muốn biết database của bạn còn trên Hosting không? Hay là bạn chỉ có file .sql trên máy tính?
- thaytro.net đoán là do sự chênh lệch về: DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci với DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci và InnoDB tables với MyISAM tables giữa 2 hosting mới và cũ không giống nhau (hoặc không hỗ trợ) dẫn đến cách tính VARCHAR chênh lệch số bytes nên báo lỗi "#1071 - Specified key was too long; max key length is 767 bytes" chứ bình thường khi Export và Import trên cũng 1 hosting rất ít khi báo lỗi. Chứ bình thường khi Export và Import trên cũng 1 hosting rất ít khi báo lỗi.
- Nếu database của bạn vẫn còn trên Hosting thì thaytro.net thì thaytro.net khuyên bạn thử 1 trong 2 cách sau:
+ CÁCH 1: Bạn chỉ EXPORT table có tên mdl_auth_oauth2_linked_login bằng cách nhấp vào tên table sau đó chọn EXPORT như bình thường sẽ được file có tên mdl_auth_oauth2_linked_login.sql sau đó tạo 1 database mới và IMPORT vào hosting mới! [thaytro.net đoán là sẽ báo lỗi]. Nếu báo lỗi là do table này thì bạn tiến hành CHỈNH SỬA như sau: Bạn mở file mdl_auth_oauth2_linked_login.sql bằng phần mềm mở được file .sql ví dụ Notepad ++ sau đó nhấn ctr f để tìm nhanh đến vị trí mdl_auth_oauth2_linked_login và sửa varchar(255) thay số 255 bằng các số nhỏ hơn ví dụ: 200 hay 150 hay 128... thay bằng số nhỏ hơn và tạo database mới để IMPORT khi nào không báo lỗi thì thôi! [nếu bạn biết tính varchar làm sao nhỏ hơn hoặc bằng 767 bytes thì sẽ nhanh hơn]
- Một khi bạn IMPORT mdl_auth_oauth2_linked_login.sql thành công thì bạn tiến hành EXPORT và IMPORT các table còn lại như sau: Bạn chọn EXPORT sau đó bạn chọn CUSTOM bạn sẽ thấy ngay dưới có mục TABLES bọn chọn Select All sau đó nhấn phím ctr và nhấp chuột vào table có tên mdl_auth_oauth2_linked_login [vì mình đã IMPORT table này rồi] bạn sẽ được file .sql cuối cùng bạn IMPORT vào database mà bạn đã IMPORT mdl_auth_oauth2_linked_login.
+ CÁCH 2: Trong trường hợp mà bạn không thể nào IMPORT được table mdl_auth_oauth2_linked_login thì đành phải EXPORT và IMPORT các table còn lại [không bao gồm table mdl_auth_oauth2_linked_login] như hướng dẫn ở cuối CÁCH 1. Bạn theo dõi nếu moodle hoạt động bình thường hoặc moodle tự tạo table mdl_auth_oauth2_linked_login. Trường hợp xấu thì bạn tạo thêm table mdl_auth_oauth2_linked_login.
* Bình thường khi IMPORT database bị lỗi người hay export và import từng table một.
Chúc bạn thành công!
Không biết bạn đã giải quyết được chưa? Sao không thấy hồi âm gì cả?