Bạn đang cố gắng import một file .sql vào MariaDB nhưng gặp lỗi "ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'"? Đây là lỗi phổ biến khi chuyển dữ liệu từ MySQL 8.0 sang MariaDB do sự khác biệt về collation. Trong bài viết này, mình sẽ hướng dẫn bạn cách khắc phục lỗi nhanh chóng bằng cách thay đổi collation trong file SQL để tương thích với MariaDB, đặc biệt trong môi trường sử dụng XAMPP trên Windows.

Dưới đây là bài viết hướng dẫn chi tiết cách khắc phục lỗi ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci' khi import cơ sở dữ liệu .sql vào MariaDB trên XAMPP:


🔧 Cách khắc phục lỗi ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci' khi import vào MariaDB

❓ Nguyên nhân lỗi

Khi bạn import file .sql được xuất ra từ MySQL 8.0+ vào MariaDB (thường dùng trong XAMPP), bạn có thể gặp lỗi sau:

ERROR 1273 (HY000) at line 419: Unknown collation: 'utf8mb4_0900_ai_ci'

Lỗi này xảy ra vì collation utf8mb4_0900_ai_ci là một chuẩn chỉ có trong MySQL 8.0 trở lên, còn MariaDB không hỗ trợ collation này.


✅ Cách khắc phục

Bước 1: Mở file .sql và thay thế collation

Bạn cần thay tất cả các collation utf8mb4_0900_ai_ci thành collation tương thích với MariaDB như utf8mb4_unicode_ci.

✅ Cách 1: Sửa thủ công bằng Notepad++ hoặc VS Code
  1. Mở file .sql bằng Notepad++ hoặc VS Code.
  2. Dùng chức năng Find & Replace (Ctrl + H).
  3. Tìm: utf8mb4_0900_ai_ci
  4. Thay bằng: utf8mb4_unicode_ci
  5. Lưu lại với tên mới (ví dụ: shop.themestyle.net-fixed.sql).
✅ Cách 2: Sửa nhanh bằng PowerShell (Windows) Dùng cho file nặng ko mở đc thủ công > 500mb

Mở CMD hoặc PowerShell, chạy lệnh sau (chỉnh đúng đường dẫn):

powershell -Command "(Get-Content 'D:\vps\backup\2025-04-06\shop.themestyle.net.sql') -replace 'utf8mb4_0900_ai_ci', 'utf8mb4_unicode_ci' | Set-Content 'D:\vps\backup\2025-04-06\shop.themestyle.net-fixed.sql'"

Bước 2: Import lại file .sql đã sửa

Sau khi sửa xong, dùng lệnh sau để import vào database:

mysql --default-character-set=utf8mb4 -u root -p cms_themestyle < "D:\vps\backup\2025-04-06\shop.themestyle.net-fixed.sql"

Lưu ý:

  • cms_themestyle là tên database bạn muốn import vào.
  • Nếu được hỏi mật khẩu, nhấn Enter nếu bạn chưa đặt password cho root.

📌 Mẹo: Tránh lỗi tương lai

  • Khi export từ MySQL 8.0 để dùng trên MariaDB, nên chọn:
    • Collation: utf8mb4_unicode_ci
    • Tránh: utf8mb4_0900_ai_ci, utf8mb4_0900_as_cs, ...

Bạn có thể đặt mặc định trong cấu hình my.cnf hoặc trong phpMyAdmin khi export.


✅ Kết luận

Lỗi Unknown collation: 'utf8mb4_0900_ai_ci' rất thường gặp khi chuyển dữ liệu giữa MySQL 8.0 và MariaDB. Cách nhanh nhất là sửa file SQL bằng cách thay collation không tương thích bằng collation tiêu chuẩn như utf8mb4_unicode_ci. Sau đó import lại sẽ thành công.