Как поменять кодировку по умолчанию в MySQL (phpMyAdmin)

При создании новых баз данных в MySQL важно учитывать то, в какая кодировка таблиц в них назначена по умолчанию. Можно конечно создать новую базу данных, потом зайти в phpMyAdmin и выставить требуемую кодировку вручную в визуальной среде, но это долго и утомительно. Поэтому хотелось бы решить этот вопрос раз и навсегда, прописав в конфиге требуемую кодировку таблиц вновь создаваемых баз данных (и больше про это не вспоминать). На просторах интернета предлагается масса вариантов того, как это сделать, но я нашёл свой. =)



Файл с настройками конфигурации MariaDB (50-server.cnf)

Конфиг MariaDB, — (СУБД, которая устанавливается в Debian 9 при установке MySQL на сервер), разбросан по разным папкам, большая его часть находится в папке /etc/mysql. Нас сейчас интересует папка, находящаяся в ней, а вернее файл с настройками MySQL, который можно найти по адресу: /etc/mysql/mariadb.conf.d/50-server.cnf.

При создании с консоли новой базы данных на сервере без явного указания кодировки её таблиц, создаётся БД с кодировкой utf8mb4_general_ci. Однако, почитав про то, что пишут, я пришёл к выводу, что utf8mb4_unicode_ci предпочтительнее.

Поэтому, в конфиге MariaDB 50-server.cnf находим строчку:

collation-server      = utf8mb4_general_ci

У меня она 112-я. И меняем кодировку на:

collation-server      = utf8mb4_unicode_ci

После этого, для того, чтобы изменённое значение кодировки таблиц вступило в силу, требуется перезагрузить MySQL-сервер. Делается командой:

mysql restart

Этого достаточно, чтобы вновь создаваемые базы данных имели значение кодировки таблиц по умолчанию utf8mb4_unicode_ci.

Резюме

На самом деле, это решение не универсальное. Ведь на сервере может быть установлена другая версия СУБД и этот вариант может не сработать. Есть предложение, менять кодировку в файле my.cnf, но и оно может оказаться не достаточно универсальным. Универсальным решением будет явно указывать кодировку таблиц по умолчанию во вновь создаваемой базе данных, но для меня пока достаточно и описанного выше найденного решения.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню