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/ |
    +--------------------------+----------------------------+

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