utf8 для mysql в Ubuntu 16.04 и Ubuntu 14.04

По умолчанию, после установки mysql в Ubuntu используется кодировка latin-1.
Сейчас везде используется универсальная UTF8.
Чтобы не было проблем в кракозябрами и нечитаемыми символами, нужно чтобы кодировка в базе данных mysql и в настройках какой-либо cms совпадала.

Изменение кодировки сервера mysql на UTF8 в Ubuntu.
Актуально для mysql 5.5, проверил на Ubuntu 16.04 и Ubuntu 14.04.
До версии 5.5 использовались другие названия переменных.

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

mysql -u root -ppassword

и вывести переменные, вот так

show variables like 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

Далее идем в папку /etc/mysql/

В некоторых мануалах советуют добавлять переменные в файл my.cnf. Но так делать нельзя, так как при обновлении этот файл может быть затерт.
В файле my.cnf, в самом низу есть такая строчка !includedir /etc/mysql/conf.d/ .
Это означает, что подключаться все файлы с расширением .cnf, лежащие в папке conf.d. Поэтому нам нужно создать файл в этой папке.

sudo nano /etc/mysql/conf.d/utf8_set.cnf

и в этот файл добавим нужные нам переменные

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

перезапустим mysql

sudo service mysql restart

Теперь еще раз проверяем переменные 

mysql -u root -ppassword -e "show variables like 'char%'"

вывод должен быть таким

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

На этом все. Задача выполнена.

E-mail для связи: goodigy@goodigy.ru