Paano Ayusin ang “utf8mb4_0900_ai_ci” Collation Error kapag Nag-i-import ng WordPress Database

Kung ililipat mo ang iyong pag-install ng WordPress mula sa isang MySQL 8 server patungo sa MySQL 5.7 (o mas mababa), malamang na makatagpo mo ang 1273 – Hindi kilalang koleksyon: ‘utf8mb4_0900_ai_ci’ error kapag sinusubukang i-import ang database. Anuman ang mga tool na iyong ginagamit upang i-import o i-export ang database, hindi mo matatakasan ang error na ito.

Gayunpaman, kung dati mong pinatakbo ang iyong blog sa isang MySQL 5.7 server at kamakailan ay lumipat sa isang MySQL 8 ngunit ngayon ay babalik sa MySQL 5.7, pagkatapos ay ang mga pangunahing talahanayan ng WordPress (mga post, taxonomy, mga opsyon, komento, atbp.) at anumang mga plugin na iyong na-install sa MySQL 5.7 server ay dapat pa ring gumagamit ng "utf8mb4_unicode_520_ci" na koleksyon.

Maaari mong i-import ang lahat ng mga talahanayan mula sa iyong database na gumagamit ng collation na "utf8mb4_unicode_520_ci". Kaya ang kailangan mong gawin ay hanapin ang mga talahanayan sa iyong database na gumagamit ng "utf8mb4_0900_ai_ci" na koleksyon at ibukod ang mga ito mula sa na-export na backup na file ng database.

🔎 Hanapin kung aling mga talahanayan ang gumagamit ng collation na “utf8mb4_0900_ai_ci”

Kailangan mong hanapin kung aling mga talahanayan sa iyong database ang gumagamit ng collation na “utf8mb4_0900_ai_ci” para maibukod namin ang mga talahanayang iyon kapag ini-export ang database.

Kung mayroon kang access sa SSH sa server at mga kredensyal sa pag-access sa database (na maaari mong makuha mula sa wp-config.php file), maaari mong patakbuhin ang sumusunod na command upang madaling mahanap ang mga talahanayan na may "utf8mb4_0900_ai_ci" na collation.

mysqlshow -u username -p --status database | grep "utf8mb4_0900_ai_ci"

? Palitan ANG username at database gamit ang iyong Database at Username sa command sa itaas.

Ipasok ang iyong password ng user ng Database kapag sinenyasan na Ilagay ang password: at magkakaroon ka ng listahan ng mga talahanayan gamit ang collation na "utf8mb4_0900_ai_ci" sa iyong database.

Ang mga talahanayan na gumagamit ng "utf8mb4_0900_ai_ci" na koleksyon ay dapat na mga plugin lamang na na-install mo pagkatapos lumipat sa MySQL 8. Isulat ang mga pangalan ng mga talahanayan upang maibukod mo ang mga ito sa susunod na i-export mo ang iyong database.

💡 Tip

Kung hindi ka nag-SSH ng access sa server, pagkatapos ay i-download ang .sql database file sa iyong computer at buksan ito gamit ang isang text editor gaya ng Notepad++ at gamitin ang search function (Ctrl +F) upang mahanap kung aling mga talahanayan ang gumagamit ng “utf8mb4_0900_ai_ci” koleksyon.

I-export ang database na hindi kasama ang "utf8mb4_0900_ai_ci" na mga talahanayan ng koleksyon

Ngayon na mayroon ka nang mga pangalan ng mga talahanayan gamit ang "utf8mb4_0900_ai_ci" na koleksyon, maaari kang mag-export ng isang bagong database backup file na hindi kasama ang "utf8mb4_0900_ai_ci" na mga talahanayan upang ma-import mo ito sa isang pag-install ng WordPress na tumatakbo sa isang MySQL 5.7 server.

Ipagpalagay na gumagamit ka na ng WP-CLI upang i-export/i-import ang database ng WordPress, patakbuhin ang sumusunod na command upang i-export ang iyong database habang hindi kasama ang ilan sa mga talahanayan.

wp db export --exclude_tables=table_name, table_name, table_name

? Palitan table_name sa utos sa itaas na may mga aktwal na pangalan ng mga talahanayan na gumagamit ng "utf8mb4_0900_ai_ci" na collation.

Ayan yun. Madali mo na ngayong mai-import ang iyong database ng WordPress sa bagong server na nagpapatakbo ng MySQL 5.7.

? Mahalagang paalaala

Para sa mga talahanayan ng database na hindi mo isinama sa backup, tiyaking manu-manong muling likhain ang kanilang data sa bagong server. Dahil ang mga talahanayang iyon ay mga plugin lamang, tingnan kung ang mga plugin na iyon ay nag-aalok ng isang paraan upang mag-export ng data sa mga setting ng plugin o kung hindi ay muling i-configure ang plugin sa bagong server sa parehong paraan kung paano ito na-setup sa lumang server.