Как я могу установить mysql character_set_database как utf8mb4 без изменения файла конфигурации? (Так как у меня нет доступа к файлам) - PullRequest
1 голос
/ 24 апреля 2019

Я использую AWS Lightsail MySQL и пытаюсь установить кодировку utf8mb4.Мне удалось установить некоторые переменные с помощью команды

SET NAMES utf8mb4;
ALTER DATABASE etl_db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

Результат -

+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database   | latin1             |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | latin1             |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_general_ci |
| collation_database       | latin1_swedish_ci  |
| collation_server         | latin1_swedish_ci  |
+--------------------------+--------------------+

Но я не могу найти способ изменить character_set_database или все остальное.Решения онлайн - все об изменении файла конфигурации.Однако, поскольку я использую сервис AWS Lightsail MySQL, у меня нет доступа к файлам.Тогда как я могу изменить кодировку остальных переменных?

Кстати, мне интересно, почему я могу что-то изменить в mysql, в то время как я могу изменить только другие вещи в my.cnf?Могу ли я установить buffer_size в mysql?

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019
ALTER DATABASE etl_db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

изменяет только значения по умолчанию для этой базы данных. Это значение по умолчанию используется только (?), Когда вы делаете CREATE TABLE без указания набора символов или параметров сортировки.

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

0 голосов
/ 24 апреля 2019

Параметры базы данных Lightsail настраиваются с помощью aws-cli.

https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-updating-database-parameters

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

...