Kako popraviti "utf8mb4_0900_ai_ci" pogrešku u usporedbi prilikom uvoza WordPress baze podataka

Ako svoju instalaciju WordPressa prebacujete s MySQL 8 poslužitelja na MySQL 5.7 (ili niže), najvjerojatnije ćete naići na 1273 – Nepoznata usporedba: 'utf8mb4_0900_ai_ci' pogreška pri pokušaju uvoza baze podataka. Bez obzira koje alate koristite za uvoz ili izvoz baze podataka, ovu pogrešku ne možete izbjeći.

Međutim, ako ste prethodno pokrenuli svoj blog na MySQL 5.7 poslužitelju i nedavno ste se prebacili na MySQL 8, ali sada se vraćate na MySQL 5.7, tada su se glavne WordPress tablice (postovi, taksonomije, opcije, komentari itd.) i svi dodaci koji ste instalirali na MySQL 5.7 poslužitelj i dalje bi trebali koristiti usporedbu “utf8mb4_unicode_520_ci”.

Možete uvesti sve tablice iz svoje baze podataka koja koristi usporedbu “utf8mb4_unicode_520_ci”. Dakle, ono što trebate učiniti je pronaći tablice u vašoj bazi podataka koja koristi usporedbu “utf8mb4_0900_ai_ci” i isključiti ih iz izvezene sigurnosne kopije baze podataka.

🔎 Pronađite koje tablice koriste usporedbu "utf8mb4_0900_ai_ci"

Morate pronaći koje tablice u vašoj bazi podataka koriste usporedbu "utf8mb4_0900_ai_ci" kako bismo mogli isključiti te tablice prilikom izvoza baze podataka.

Ako imate SSH pristup poslužitelju i vjerodajnice za pristup bazi podataka (što u potpunosti možete dobiti iz datoteke wp-config.php), možete pokrenuti sljedeću naredbu da lako pronađete tablice s usporedbom "utf8mb4_0900_ai_ci".

mysqlshow -u korisničko ime -p --status baza podataka | grep "utf8mb4_0900_ai_ci"

? Zamijenite Korisničko ime i baza podataka s vašom bazom podataka i korisničkim imenom u gornjoj naredbi.

Unesite svoju korisničku lozinku za bazu podataka kada se to od vas zatraži Upišite lozinku: i imat ćete popis tablica koje koriste usporedbu "utf8mb4_0900_ai_ci" u vašoj bazi podataka.

Tablice koje koriste usporedbu “utf8mb4_0900_ai_ci” trebale bi sadržavati samo dodatke koje ste instalirali nakon prelaska na MySQL 8. Zapišite nazive tablica kako biste ih mogli isključiti sljedeći put kada izvozite svoju bazu podataka.

💡 Savjet

Ako nemate SSH pristup poslužitelju, preuzmite .sql datoteku baze podataka na svoje računalo i otvorite je uređivačem teksta kao što je Notepad++ i upotrijebite funkciju pretraživanja (Ctrl +F) da biste pronašli koje tablice koriste "utf8mb4_0900_ai_ci" usporedba.

Izvezi bazu podataka isključujući tablice usporedbe "utf8mb4_0900_ai_ci"

Sada kada imate nazive tablica koje koriste usporedbu "utf8mb4_0900_ai_ci", možete izvesti novu datoteku sigurnosne kopije baze podataka koja ne uključuje tablice "utf8mb4_0900_ai_ci" tako da je možete uvesti u instalaciju WordPressa koja radi na MySQL 5.7 poslužitelju.

Pod pretpostavkom da već koristite WP-CLI za izvoz/uvoz WordPress baze podataka, pokrenite sljedeću naredbu da izvezete svoju bazu podataka dok izuzimate neke od tablica.

wp db export --exclude_tables=ime_tablice,ime_tablice,ime_tablice

? Zamijeniti naziv_tablice u gornjoj naredbi sa stvarnim nazivima tablica koja koristi usporedbu "utf8mb4_0900_ai_ci".

To je to. Sada možete jednostavno uvesti svoju WordPress bazu podataka na novi poslužitelj koji pokreće MySQL 5.7.

? Važna nota

Za tablice baze podataka koje ste isključili iz sigurnosne kopije, svakako ručno ponovno kreirajte njihove podatke na novom poslužitelju. Budući da su te tablice samo dodaci, provjerite nude li ti dodaci način za izvoz podataka u postavkama dodatka ili pak ponovno konfigurirajte dodatak na novom poslužitelju na isti način na koji je postavljen na starom poslužitelju.