Bug 55936 - Некорректная переменная init_connect внутри mysql.
Summary: Некорректная переменная init_connect внутри mysql.
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: MySQL-server (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Николай Костригин
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-09-10 16:23 MSK by Куницкий Дмитрий
Modified: 2025-11-24 11:16 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Куницкий Дмитрий 2025-09-10 16:23:49 MSK
Стенды:
Alt Server p11 x86_64(Обновленный до sisyphus)

Версия пакетов:
MySQL-server-8.0.43-alt1.x86_64
MySQL-client-8.0.43-alt1.x86_64

Шаги воспроизведения:
1) Установить СУБД
# apt-get install MySQL-server -y

2) Запустить СУБД
# systemctl start mysqld.service 

3) Подключиться к mysql от рута:
# mysql -u root

4) Создать тестового пользователя, базу и таблицу внутри нее:

CREATE DATABASE test_db;
CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost';
USE test_db;
CREATE TABLE test_table (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100)
);
INSERT INTO test_table (id, name) VALUES (1, 'First Record');
FLUSH PRIVILEGES;


5) Выйти из mysql и попытаться получить данные с этой таблицы:

# mysql -u test_user -ppassword -D test_db -e "SELECT * FROM test_table;"

=========================================
Ожидаемый результат: Успешное подключение к БД. Вывод данных из таблицы test_table 

Реальный результат: Ошибка при выполнении команды.

ERROR 2013 (HY000) at line 1: Lost connection to MySQL server during query


Примечание: Ошибка не воспроизводится в p11 и ошибку нельзя воспроизвести если подключаться от пользователя root или любого другого у которого есть привилегия SUPER.

Для исправления можно в ручную изменить переменную init_connect в MySQL. 

# mysql -u root -p"1" -e "SET GLOBAL init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_general_ci';"
Comment 1 Николай Костригин 2025-09-11 10:02:32 MSK
Принято, спасибо.
Похоже на опечатку при исправлении конфига.
Прошу проверить с /etc/my.cnf.d/server.cnf:

- init-connect = 'SET NAMES utf8 COLLATE utf8mb4_general_ci'
+ init-connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_general_ci'
Comment 2 Alexander Makeenkov 2025-09-11 10:04:05 MSK
(Ответ для Николай Костригин на комментарий #1)
> - init-connect = 'SET NAMES utf8 COLLATE utf8mb4_general_ci'
> + init-connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_general_ci'

У меня заработало.
Comment 3 Repository Robot 2025-11-24 11:16:49 MSK
MySQL-8.0.43-alt2 -> sisyphus:

Thu Sep 11 2025 Nikolai Kostrigin <nickel@altlinux> 8.0.43-alt2
- fix default charset name for init-connect variable (closes: #55936)