Mysql error 1273

I have a WordPress website on my local WAMP server. But when I upload its database to live server, I get error #1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’ Any help would be appreciated!

I have a WordPress website on my local WAMP server. But when I upload its database to live server, I get error

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’

Any help would be appreciated!

Rick James's user avatar

Rick James

131k11 gold badges126 silver badges214 bronze badges

asked Feb 22, 2017 at 7:23

Shishil Patel's user avatar

Shishil PatelShishil Patel

3,2292 gold badges12 silver badges16 bronze badges

7

I believe this error is caused because the local server and live server are running different versions of MySQL. To solve this:

  1. Open the sql file in your text editor
  2. Find and replace all utf8mb4_unicode_520_ci with utf8mb4_unicode_ci
  3. Save and upload to a fresh mySql db

enter image description here

user's user avatar

user

5,2976 gold badges19 silver badges35 bronze badges

answered May 22, 2017 at 21:15

Sabba Keynejad's user avatar

Sabba KeynejadSabba Keynejad

7,5692 gold badges25 silver badges22 bronze badges

6

You can solve this by finding

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

in your .sql file, and swapping it with

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

dǝɥɔS ʇoıןןƎ's user avatar

dǝɥɔS ʇoıןןƎ

1,5245 gold badges19 silver badges41 bronze badges

answered Feb 22, 2017 at 7:26

savani sandip's user avatar

9

In my case it turns out my
new server was running MySQL 5.5,
old server was running MySQL 5.6.
So I got this error when trying to import the .sql file I’d exported from my old server.

MySQL 5.5 does not support utf8mb4_unicode_520_ci, but
MySQL 5.6 does.

Updating to MySQL 5.6 on the new server solved collation the error !

If you want to retain MySQL 5.5, you can:
— make a copy of your exported .sql file
— replace instances of utf8mb4unicode520_ci and utf8mb4_unicode_520_ci
…with utf8mb4_unicode_ci
— import your updated .sql file.

answered Jul 3, 2017 at 3:21

SherylHohman's user avatar

SherylHohmanSherylHohman

15.7k17 gold badges87 silver badges91 bronze badges

3

Open the sql file in your text editor;

1. Search: utf8mb4_unicode_ci Replace: utf8_general_ci (Replace All)

2. Search: utf8mb4_unicode_520_ci Replace: utf8_general_ci (Replace All)

3. Search: utf8mb4 Replace: utf8 (Replace All)

Save and upload!

answered Mar 4, 2018 at 20:22

VUUB's user avatar

VUUBVUUB

4694 silver badges5 bronze badges

1

easy replace

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql

4b0's user avatar

4b0

21.4k30 gold badges95 silver badges139 bronze badges

answered Jun 29, 2018 at 5:05

Ryabinin Sergey's user avatar

1

I experienced a challenge importing data into mysql exported using mysql workbench. It is a collation issue.
I solved this error by:

  1. Opening the .sql file using text editor
  2. Replacing «utf8mb4_0900_ai_ci» with «utf8mb4_general_ci».
  3. Saving the file as .sql and importing it

It worked

answered Sep 21, 2021 at 13:23

P.Githinji's user avatar

P.GithinjiP.Githinji

1,35910 silver badges5 bronze badges

1

just remove «520_»
utf8mb4_unicode_520_ciutf8mb4_unicode_ci

Stphane's user avatar

Stphane

3,3385 gold badges34 silver badges47 bronze badges

answered Feb 17, 2018 at 18:08

Shakil Hossain's user avatar

0

this error is caused because the conflict of different versions of MySQL. To solve this:

  • Open the sql file in any text editor

  • Find and replace all utf8mb4_0900_ai_ci with utf8mb4_unicode_ci

  • Save and try new mySql db file

after that try again,it works fine for me
enter image description here

answered May 31, 2021 at 18:02

Hassan Saeed's user avatar

Hassan SaeedHassan Saeed

5,8711 gold badge33 silver badges37 bronze badges

find and replace:

utf8mb4_unicode_520_ci

with

utf8_general_ci

in whole sql file

answered Apr 6, 2018 at 5:37

Nur Uddin's user avatar

Nur UddinNur Uddin

1,7591 gold badge27 silver badges38 bronze badges

1

Getting collation error #1273 — Unknown collation: ‘utf8mb4_unicode_520_ci’ is caused by the difference of the MySQL version from which you export and our MySQL server to which you import. Basically, the WordPress library for newer version checks to see what version of SQL your site is running on. If it uses MySQL version 5.6 or more, it assumes the use of a new and improved Unicode Collation Algorithm (UCA) called “utf8mb4_unicode_520_ci”. This is great unless you end up moving your WordPress site from a newer 5.6 version of MySQL to an older, pre 5.6 version of MySQL.

To resolve this you will either have to edit your SQL export file and do a search and replace, changing all instances of ‘utf8mb4_unicode_520_ci’ to ‘utf8mb4_unicode_ci’. Or follow the steps below if you have a PHPMyAdmin:

  1. Click the Export tab for the database
  2. Click the Custom radio button.
  3. Go the section titled Format-specific options and change the drop-down for Database system or older MySQL server to maximize output compatibility with: from NONE to MYSQL40.
  4. Scroll to the bottom and click GO.

answered Jun 24, 2019 at 19:27

Mushfiqur Rahman's user avatar

0

In my case I substitute it with utf8_general_ci with sed like this:

sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' MY_DB.sql 
sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' MY_DB.sql 

After that, I can import it without any issue.

answered Nov 13, 2019 at 7:32

Achu's user avatar

AchuAchu

8091 gold badge8 silver badges14 bronze badges

1

I solved it this way, I opened the .sql file in a Notepad and clicked CTRL + H to find and replace the string «utf8mb4_0900_ai_ci» and replaced it with «utf8mb4_general_ci«.

answered Sep 24, 2020 at 16:01

Herman's user avatar

HermanHerman

1271 silver badge4 bronze badges

0

Late to the party, but in case this happens with a WORDPRESS installation :

#1273 - Unknown collation: 'utf8mb4_unicode_520_ci

In phpmyadmin, under export method > Format-specific options( custom export )

Set to : MYSQL40

If you will try to import now, you now might get another error message :

1064 - You have an error in your SQL syntax; .....

That is because The older TYPE option that was synonymous with ENGINE was removed in MySQL 5.5.

Open your .sql file , search and replace all instances

from TYPE= to ENGINE=

Now the import should go smoothly.

answered Nov 5, 2018 at 5:44

Obmerk Kronen's user avatar

Obmerk KronenObmerk Kronen

15.5k16 gold badges64 silver badges105 bronze badges

1273 — Unknown collation: ‘utf8mb4_0900_ai_ci’

in my case I was unable to import DB using

ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8 COLLATE = utf8_general_ci;

and

ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;

both. But changing it to this in .SQL File resolved the problem

ENGINE=InnoDB DEFAULT CHARSET=latin1;

UPDATED

using ‘utf8mb4_general_ci‘resolved the problem

ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;

answered May 17, 2021 at 4:48

hexhad's user avatar

hexhadhexhad

1,08913 silver badges14 bronze badges

Very strange that all answers recommend replacing collation. Which is a very bad practice because you want to use the same MySQL version as the one in development and the one in production. Therefore, your local mysql server should be the same.

First of all, Execute the query SHOW COLLATION to check all the collations your server supports. If you’re using xampp or any other similar tool to start your server, it might come shipped with maria db server instead of mysql server.

What you should do is replace your current mysql (which is really mariadb) by the real mysql one.

So what you should do is simply replace your maria db server by mysql server.

answered Oct 30, 2021 at 19:17

Alan Deep's user avatar

Alan DeepAlan Deep

2,0171 gold badge13 silver badges22 bronze badges

After a little investigation, I found that the MySQL server running on the destination is an older version than the source. So we got that the destination server doesn’t contain the required database collation.

Then we do a little tweak in the backup file to resolve this. Edit the database backup file(your_sql_file.sql) in a text editor and replace utf8mb4_0900_ai_ci with utf8mb4_general_ci and CHARSET=utf8mb4 with CHARSET=utf8.

I hope this solution might help you.

answered Nov 7, 2022 at 3:56

Md.Imam Hossain Roni's user avatar

Use the sed command to replace text in files directly

Linux OS

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_general_ci/g' YOUR_SQL_FILE.sql

Mac OS

sed -i '' s/utf8mb4_unicode_520_ci/utf8mb4_general_ci/g' YOUR_SQL_FILE.sql

The help of this command i have fixed issue ERROR 1273 (HY000) at line 51: Unknown collation: ‘utf8mb4_0900_ai_ci’

answered Nov 9, 2022 at 8:49

Nanhe Kumar's user avatar

Nanhe KumarNanhe Kumar

15.1k5 gold badges78 silver badges70 bronze badges

According to my experience, the destination’s MySQL server is an older version than the source. The required database collation is not present on the destination server.

To fix this, we can make a small change to the backup file. Replace «utf8mb4 0900 ai ci» with «utf8mb4 general ci» and «CHARSET=utf8mb4» with «CHARSET=utf8» in the database backup file.

Replace the below string:

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

with:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

Save your file and restore the database.

answered 2 days ago

Vishnu's user avatar

VishnuVishnu

3,6392 gold badges18 silver badges18 bronze badges

I simply removed the COLLATE and other attributes and left only till ENGINE.
like the following

FROM:

ENGINE=InnoDB AUTO_INCREMENT=429 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

TO:

ENGINE=InnoDB;

and it worked for me just fine.

answered Apr 7, 2021 at 19:33

ahmednawazbutt's user avatar

MySQL

Большинство web-мастеров, владельцев сайтов и людей, так или иначе сталкивающихся с web-программированием, рано или поздно встают перед задачей переноса базы данных сайта с одного хостинга на другой. Кроме этого, зачастую, у людей, тесно связанных с web-технологиями, возникает необходимость развернуть сайт локально на компьютере, к примеру, под программным решением Denwer. И в той, и в другой ситуации пользователь может столкнуться с различными ошибками экспорта/импорта базы данных. Об устранении одной из таких ошибок и пойдёт речь дальше.

Содержание статьи:

Причины возникновения ошибки «#1273 — Unknown collation»

Итак, при импорте базы данных на хостинг или на Denwer процесс загрузки может быть прерван с ошибкой следующего содержания:

Ошибка
SQL-запрос:

CREATE TABLE  `wp_commentmeta` (

 `meta_id` BIGINT( 20 ) UNSIGNED NOT NULL ,
 `comment_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
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_520_ci;

Ответ MySQL: Документация

#1273 - Unknown collation: 'utf8mb4_unicode_520_ci' 

Последней строкой может быть указана и другая кодировка, например, utf8mb4_unicode_ci и тому подобное.

Вот как эта ошибка выглядит в браузере:

Ошибка #1273 - Unknown collation 'utf8mb4_unicode_520_ci'

Причина возникновения ошибки #1273 в том, что в новых версиях СУБД MySQL добавляются новые кодировки сопоставления, которых может не оказаться на хостинге и в последних версиях продукта Denwer.
Исходя из озвученной причины ниже приведём три различных варианта решения проблемы Unknown collation.

Оптимальный вариант решения ошибки #1273, по нашему мнению, это обновление версии системы sql до актуального релиза. Главный минус данного способа заключается в том, что для его реализации вам необходимо иметь доступ до СУБД на сервере.
То есть, этот вариант подходит в том случае, если вы работаете с программным продуктом Denwer, расположенным на вашем компьютере (не рассматриваем ситуацию, при которой вы используете VDS — виртуальный выделенный сервер).

Чтобы обновить систему MySQL в установленном пакете Denwer на компьютере, в первую очередь, необходимо скачать нужные файлы новой версии sql. Предлагаем вам сделать это одним из двух способов:

  1. Скачать один из прикреплённых к статье файлов с архивом, соответствующих разрядности вашей операционной системы: mysql-5.7.19-winx86 или mysql-5.7.17-winx64
  2. Скачать на официальном сайте полный архив MySQL Community Server под вашу версию операционной системы и извлечь оттуда файлы mysql.exe, mysqlcheck.exe, mysqld.exe и mysql_upgrade.exe, расположенные в каталоге bin

Далее останавливаем Денвер запуском ярлыка Stop Denwer, переходим на компьютере в директорию MySQL установленного пакета Denwer. По умолчанию задан следующий путь:

C:WebServersusrlocalmysql-5.5bin

В этот каталог помещаем скачанные exe-файлы и соглашаемся на замену.
Запускаем Денвер ярлыком Start Denwer и повторно импортируем базу данных. Ошибка устранена.

Экспорт базы данных сайта в режиме совместимости со старым MySQL

Этот способ обхода ошибки Unknown collation: utf8mb4 может быть использован в том случае, если мы имеем возможность повторного экспорта базы данных. Данное условие вытекает из того, что основные действия в этом варианте производятся на этапе создания бэкапа, а не его загрузки на сервер.

Суть заключается в том, что перед выгрузкой базы данных нам необходимо активировать расширенные настройки в приложении создания бэкапа и включить режим совместимости выгружаемой базы.

Рассмотрим, как выгрузить базу сайта в режиме совместимости MySQL на примере web-приложения phpMyAdmin.
Заходим в phpMyAdmin, выбираем нашу базу в списке и переходим на вкладку Экспорт

Экспорта базы данных сайта в phpMyAdmin

На открывшейся странице в разделе Метод экспорта ставим флаг-галку у пункта Обычный — отображать все возможные настройки. Теперь прокручиваем страницу вниз до раздела Параметры формата и в пункте Максимальная совместимость с системой базы данных, или устаревшей версией MySQL: из выпадающего списка выбираем вариант MYSQL40.
Остальные параметры можно не менять, скроллим страницу до конца и нажимаем кнопку Вперёд.

Сохранение базы сайта в режиме совместимости MYSQL40

Сформированный архив будет импортироваться на сервер с MySQL старой версии без ошибок.

Если после этого при открытии страничек сайта будут проблемы с кодировкой: некорректное отображение текста, «иероглифы» и так далее — то дополнительно будет необходимо в файле конфигурации вашего CMS (к примеру, в WordPress это файл wp-config.php) заменить параметр, отвечающий за кодировку с utf8mb4 на utf8, сохранить внесённые изменения и обновить страницу

Ручное изменение кодировки базы данных сайта

И последний пример борьбы с ошибкой импорта базы данных сайта, который мы рассмотрим в рамках текущей публикации — это изменение кодировки SQL базы в таблице.
Проделать это можно как с помощью специальных sql-команд, так и вручную. Рассмотрим второй вариант.

Для того, чтобы отредактировать кодировку в базе, нам необходимо разархивировать бэкап сайта, если он находится в сжатой папке zip или rar. После этого открываем получившийся файл с расширением *.sql в удобном текстовом редакторе, например, в Notepad++
В окне текстового редактора нам необходимо заменить значения utf8mb4_unicode_ci и utf8mb4_unicod_520i на utf8_general_ci. Кроме этого, если в таблицах базы встречается значение utf8mb4, то, как и в предыдущем способе, его также надо изменить на utf8.

После проделанной корректировки сохраняем изменённый файл и повторяем импорт базы данных на сервер.

Мы рассмотрели три способа борьбы с ошибкой #1273 — Unknown collation: ‘utf8mb4_unicode_ci’.
Надеемся, что вам удалось побороть данную проблему одним из вариантов.

Решение ошибки, которая возникала при импорте базы данных MySQL в панели управления phpMyAdmin.

При переносе базы данных WordPress с одного хостинга на другой возникла ошибка:

#1273 — Unknown collation: ‘utf8mb4_unicode_520_ci’

В целом сообщение об ошибке было таким:

Ошибка
SQL запрос:
— Структура таблицы `wp_subscribe_reloaded_subscribers`

CREATE TABLE `wp_subscribe_reloaded_subscribers` (
  `stcr_id` int(11) NOT NULL,
  `subscriber_email` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
  `salt` int(15) NOT NULL,
  `subscriber_unique_id` varchar(50) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
  `add_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci

Ответ MySQL:
#1273 — Unknown collation: ‘utf8mb4_unicode_520_ci’

Причина оказалась в том, что таблица в базе данных MySQL плагина Subscribe To Comments Reloaded находилась в кодировке utf8mb4_unicode_520_ci. А для верной работы необходима кодировка utf8mb4_unicode_ci.

Ошибка Unknown utf8mb4_unicode_520 может возникнуть из-за неверного формата таблицы любого другого плагина. Например, в одном из случаев, у меня такая ошибка возникала сразу во многих других таблицах (не только относящихся к плагинам), например:

— Структура таблицы `wp_commentmeta`

CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) UNSIGNED NOT NULL,
  `comment_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
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci

Любая ошибка такого рода (не важно что за таблица или плагин) исправляется одинаково. Причем операции со вкладкой «Структура» можно и пропускать и делать только «Операции» (об этом ниже). Но чтобы всё точно работало, лучше сделать и то и другое.

Если ИМЕЕТСЯ доступ к базе данных старого хостинга

Заходим в эту базу через phpMyAdmin.

В колонке слева выбираем таблицу wp_subscribe_reloaded_subscribers. Сверху панели выбираем вкладку «Структура».

Нажимаем изменить и меняем сравнение utf8mb4_unicode_520_ci на utf8mb4_unicode_ci.

Затем выбираем вкладку «Операции», снова выбираем кодировку utf8mb4_unicode_ci, отмечаем галочку Change all column collations. Нажимаем вперед, подтверждаем, что хотим выполнить эту операцию.

После этого можно экспортировать свою базу данных и импортировать на новый хостинг. На этот раз всё должно пройти гладко.

Если доступа к базе данных старого хостинга НЕТ

В этом случае надо открыть базу данных через специализированные программы, например, Notepad++ или Transmit в Mac OS. Там найти строчки utf8mb4_unicode_520_ci и заменить их на utf8mb4_unicode_ci. Сохранить и дальше импортировать к себе на хостинг.

Если ошибку вызывает другой плагин, не обязательно wp_subscribe_reloaded_subscribers или какая иная таблица, то действовать нужно по аналогии с этой инструкцией, но уже для другой таблицы.

Like this post? Please share to your friends:
  • Nastran error 4276
  • Nano error writing no such file or directory
  • Named entity expected got none как исправить
  • Mysql error 1045 28000 access denied for user odbc localhost using password no
  • N700e ошибка e34