| Summary: | Некорректная переменная init_connect внутри mysql. | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Куницкий Дмитрий <kunitskijds> |
| Component: | MySQL-server | Assignee: | Николай Костригин <nickel> |
| Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P5 | CC: | amakeenk, mike, nickel, rider, shaba |
| Version: | unstable | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
Принято, спасибо. Похоже на опечатку при исправлении конфига. Прошу проверить с /etc/my.cnf.d/server.cnf: - init-connect = 'SET NAMES utf8 COLLATE utf8mb4_general_ci' + init-connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_general_ci' (Ответ для Николай Костригин на комментарий #1) > - init-connect = 'SET NAMES utf8 COLLATE utf8mb4_general_ci' > + init-connect = 'SET NAMES utf8mb4 COLLATE utf8mb4_general_ci' У меня заработало. |
Стенды: 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';"