Изменить character set и collation в Mysql 5.7 с latin на utf8mb4

Для начала проверяем текущие настройки.

mysql> show variables where variable_name like 'character\_set\_%' or variable_name LIKE 'collation%';
+--------------------------+-------------------+
| Variable_name | Value |
+--------------------------+-------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+--------------------------+-------------------+
10 rows in set (0.05 sec)

Убеждаемся что у нас latin1, потому что в MySQL 8 уже по умолчанию character set и collation в utf8mb4

Шагаем в директорию:

cd /etc/mysql/mysql.conf.d
vim mysqld.cnf

и добавляем в конец файла:

init_connect='SET collation_connection = utf8mb4_unicode_ci'
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

сохраняем, выходим, переходим в папку:

cd /etc/mysql/conf.d
vim mysql.cnf
# Перезагружаем сервис
service mysql restart

Заходим в MySQL и еще раз проверяем:

mysql> show variables where variable_name like 'character\_set\_%' or variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name | Value |
+--------------------------+--------------------+
| character_set_client | utf8mb4 |
| character_set_connection | utf8mb4 |
| character_set_database | utf8mb4 |
| character_set_filesystem | binary |
| character_set_results | utf8mb4 |
| character_set_server | utf8mb4 |
| character_set_system | utf8 |
| collation_connection | utf8mb4_general_ci |
| collation_database | utf8mb4_unicode_ci |
| collation_server | utf8mb4_unicode_ci |
+--------------------------+--------------------+
10 rows in set (0.01 sec)

 

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *