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

Я использую 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?

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
508
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

Спасибо! но я не уверен, актуален ли документ, в нем говорится об использовании aws lightsail get-relational-database-parameters --relational-database-name DatabaseName, но нет вариантов get-relational-database-parameters для aws lightsail. Интересно, вы можете взглянуть на это?

wwwwan 24.04.2019 04:32
ALTER DATABASE etl_db CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

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

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

Другие вопросы по теме