Fix phpMyAdmin Import SQL – Unknown 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_ci” nu 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-urile “utf8mb4” cu “utf8“. 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 fisierul “nume_baza_de_date.sql” in care trebuie sa inlocuim “utf8mb4” cu “utf8“.. Metoda la indemna pentru multi administratori de sistem este sa faca aceasta modificare pe linux, folosind comanda “sed” pentru “find & replace“. Asadar, urcati fisierul pe un server linux, apoi executati liniile de comandadirectorul 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 inlocui “utf8mb4” cu “utf8”, “utf8_unicode_ci” cu “utf8_general_ci” si “utf8_unicode_520_ci” cu “utf8_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.

从2006年开始,我对技术充满热情,在StealthSetts.com上写作。我在操作系统方面拥有丰富的经验:MacOS,Windows和Linux,以及编程语言和博客平台(WordPress)和在线商店(WooCommerce,Magento,Magento,Presashop)。

»» 您的教程,有用的提示和新闻。 »» Fix phpMyAdmin Import SQL – Unknown collation: ‘utf8mb4_unicode_520_ci’

2 关于“Fix phpMyAdmin Import SQL – Unknown collation: ‘utf8mb4_unicode_520_ci’透明

发表评论