кодировка при создании mysql базы в ubuntu24
добрый день!
при создании mysql базы в ubuntu24 - при выборе utf8mb4 - создается база с кодировкой utf8mb4_0900_ai_ci
а нужно чтобы создавалась как раньше utf8mb4_general_ci
для битрикс проектов вообще нужно умолчание utf8mb4_unicode_ci - иначе битрикс ругается на кодировку
есть ли возможность указать в конфиге панели или вообще где нибудь чтобы панель создавала базу с нужной кодировкой utf8mb4_general_ci или utf8mb4_unicode_ci ?
25.01.2025 14:51
Добрый день!
Можно внести в конфигурационный файл mysql глобальные настройки конфигурации кодировки и после это перезапустить сервер mysql. Точно не помню, где в Ubuntu 24.04 этот конфиг находится, но это легко выяснить командой:
mysqld --verbose --help | grep -A 1 "Default options"
Должен быть где-то вроде /etc/mysql/my.cnf
Внесите в его секцию [mysqld] две строки
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
и перезапустите MySQL для применения изменений.
После этого, при создании базы данных, если явно не указать другую кодировку, будет использоваться utf8mb4_general_ci
по умолчанию.
27.01.2025 02:11
cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep utf8
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
все равно создает с utf8mb4_0900_ai_ci
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 | utf8mb3 |
| collation_connection | utf8mb4_0900_ai_ci |
| collation_database | utf8mb4_general_ci |
| collation_server | utf8mb4_general_ci |
+--------------------------+--------------------+
10 rows in set (0,00 sec)
27.01.2025 07:54
Попробуйте еще
[mysqld]
collation_connection = utf8mb4_general_ci
добавить.
27.01.2025 08:30
unknown variable 'collation_connection=utf8mb4_general_ci'
mysql не запустилась
27.01.2025 10:03
Посмотрите вот тут рекомендации: https://stackoverflow.com/questions/59302429/how-do-i-permanently-set-collation-connection-to-utf8mb4-unicode-ci
27.01.2025 11:07
прописал
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init-connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_general_ci'
init-connect = 'SET collation_connection = utf8mb4_general_ci'
character-set-client-handshake = FALSE
это ничего не дало
если создавать руками - то проблем нет
база создается с utf8mb4_general_ci
почему бы панели явно не указывать при создании базы utf8mb4_general_ci - так как база по умолчанию создается панелью с utf8mb4
хорошо бы иметь возможность прописать опцию в ispmgr.conf где например можно указать кодировку при создании базы по умолчанию - например для сайтов битрикс utf8mb4_unicode_ci utf8mb4 или для utf8 - utf8_unicode_ci
CREATE DATABASE new2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
29.01.2025 14:08
Создайте соответствующий фичереквест.
30.01.2025 01:57