Bạn nhận được lỗi thông báo Unknown collation: utf8mb4_0900_ai_ci trong quá trình chuyển đổi dữ liệu website từ hosting củ sang hosting mới. Bài viết sau đây sẽ hướng dẫn bạn cách khách phục!
Nguyên nhân lỗi Unknown collation: utf8mb4_0900_ai_ci chủ yếu và thường xảy ra nhất là do phiên bản MySQL/MariaDB của 2 máy chủ không giống nhau, nên khi import vào máy chủ mới collation ID không khớp.
Với lỗi này bạn có thể xử lý bằng 2 cách sau:
Với cách này bạn cần hạ hoặc nâng cấp phiên bản MySQL/MariaDB ở máy chủ mới sao cho cùng phiên bản với máy chủ cũ để giải quyết vấn đề. Tuy nhiên có một bất cập là việc thay đổi phiên bản rất phức tạp và nhà phát triển không cho phép bạn hạ cấp.
Bạn chỉ có thể gở bỏ và cài đặt mới lại. Và việc này sẽ gặp nhiều rủi ro với máy chủ đã và đang có webiste hoạt động.
Cách này sẽ thay đổi CHARSET và COLLATE của database. Với cách này sẽ đơn giản nhiều hơn và rủi ro thấp hơn.
Trên hệ thống Linux có một thế mạnh là bạn có thể thay đổi nội dụng của file với một dòng lệnh. Ở bài viết này sử dụng lệnh sed
Chú thích:
* Lưu ý: Thay backup.sql bằng tên file database của bạn
Lệnh 1: sed -i ‘s/utf8mb4_0900_ai_ci/utf8_general_ci/g’ backup.sql
Lệnh 2: sed -i ‘s/CHARSET=utf8mb4/CHARSET=utf8/g’ backup.sql
Sau khi chạy lệnh sửa xong. Bạn có thể sử dụng Database đó để import lại.
Chúc bạn thực hiện thành công!
Nếu các bạn quan tâm các gói dịch vụ hosting/ VPS có thể tham khảo tại đây: AZDigi
Theo: Thạch Phạm
Nguồn: azdigi.com