Fix phpMyAdmin Import SQLUnknown collation: ‘utf8mb4_unicode_520_ci

O problema de import via phpMyAdmin sau din SSH (cu linie de comanda pentru import) a bazelor de date sau arhivate, ce apare in special atunci cand se muta o baza de date de pe un server pe altul, ce nu foloseste aceleasi setari pentru encoding sau sunt versiuni diferite cu setari specifice in MySQL.

Error
SQL query:

CREATE TABLE `wp_termmeta` (
`meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`term_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`meta_value` longtext COLLATE utf8mb4_unicode_520_ci,
PRIMARY KEY (`meta_id`),
KEY `term_id` (`term_id`),
KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci
MySQL said: Documentation

#1273 - Unknown collation: 'utf8mb4_unicode_520_ci'

Dupa aceasta eroare, importul unei de baze de date WordPress sau a altui CMS, se va opri subit.

Problema apare din cauza encoding-ului diferit, folosit de cele doua sisteme. In cazul de fata,utf8mb4_unicode_520_cinu recunoscut, iar importul nu se poate face.

Rezolvare eroare import SQL prin phpMyAdmin sau SSH – Unknown collation: ‘utf8mb4_unicode_520_ci

Metoda cea mai simpla este sa inlocuiti in fisierul .SQL, string-urileutf8mb4cuutf8. Pentru a face acest lucru, aveti la indemana phpMyAdmin, de unde sa descarcati fisierul baze de date pe PC. Inainte sa va apucati de modificari, asigurati-va o copie de rezerva a bazei de date. Backup-ul este intotdeauna indicat inainte de incepe sa modificam intr-o baza de date.

Sa spunem ca in scenariul nostru avem fisierulnume_baza_de_date.sqlin care trebuie sa inlocuimutf8mb4cuutf8.. Metoda la indemna pentru multi administratori de sistem este sa faca aceasta modificare pe linux, folosind comandasedpentrufind & replace. Asadar, urcati fisierul pe un server linux, apoi executati liniile de comanda in directorul in care aveti fisierul .sql in care doriti sa faceti modificarile.

 sed -i 's/utf8mb4/utf8/g' nume_fisier.sql
 sed -i 's/utf8_unicode_ci/utf8_general_ci/g' nume_fisier.sql
 sed -i 's/utf8_unicode_520_ci/utf8_general_ci/g' nume_fisier.sql

Dupa executarea acestor linii de comanda, in fisierul .sql se vor inlocuiutf8mb4cuutf8”, “utf8_unicode_cicuutf8_general_cisiutf8_unicode_520_cicuutf8_general_ci. Desigur, puteti face aceste modificari pe un Windows PC sau Mac, folosind un editor TXT in care sa deschideti fisierul .SQL.

Importati fisierul modificat prin intermediul phpMyAdmin.

Strastno do tehnologije, pišem z užitkom na StealthSetts.com, ki se začne z letom 2006. Imam bogato izkušnjo v operacijskih sistemih: MacOS, Windows in Linux, pa tudi v programskih jezikih in platformah za bloganje (WordPress) in za spletne trgovine (WooCommerce, Magento, Presishop).

Doma Vaš vir IT vaj, koristni nasveti in novice. Fix phpMyAdmin Import SQLUnknown collation: ‘utf8mb4_unicode_520_ci

2 thoughts on “Fix phpMyAdmin Import SQLUnknown collation: ‘utf8mb4_unicode_520_ci’

Pustite komentar