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:
ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'
khi import vào MariaDBKhi 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.
.sql
và thay thế collationBạ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
.
.sql
bằng Notepad++ hoặc VS Code.Ctrl + H
).utf8mb4_0900_ai_ci
utf8mb4_unicode_ci
shop.themestyle.net-fixed.sql
).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'"
.sql
đã sửaSau 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 choroot
.
utf8mb4_unicode_ci
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.
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.