LinuxForum.Fans
Тема

MySQL 8

Автор: medusa 3 сообщений 1454 просмотров
24.06.2023 21:54 #438927

Доброго времени суток. Пишу сюда, т.к. вопрос очень специфический, а с Гуглом ничего у меня не вышло. И так, потребовалось изучить движок HostCMS. Хороший он или плохой - суть не в этом. Собственно, для нормальной работы на locflhost необходимо выполнение одного из условий - Пользователю должны быть даны следующие привилегии: ALTER, CREATE, CREATE TEMPORARY TABLES, DELETE, DROP, INDEX, INSERT, LOCK TABLES, SELECT, UPDATE.

Опции в sql-mode не должны содержать ONLY_FULL_GROUP_BY, NO_ZERO_IN_DATE, NO_ZERO_DATE. Отключить их вы можете в конфигурационном файле my.cnf, добавив sql-mode="" в секцию [mysqld].

Пошарив по Сети нашел такое решение:

Показать

Этот строгий режим SQL можно отключить. Ниже я покажу, как это делается в Ubuntu. Для начала требуется подключение по SSH. Подключитесь к серверу как пользователь root и создайте этот файл:

/etc/mysql/conf.d/disable_strict_mode.cnf

Откройте файл и введите эти две строки:

[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO _AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Или

[mysqld]
sql_mode=””

Обратите внимание, что права у файлов должны быть 755, а не 777 – иначе мускуль не подхватит конфиг. Перезагрузите MySQL с помощью этой команды:

sudo service mysql restart

Это изменение отключает два параметра режима SQL, STRICT_TRANS_TABLES и ONLY_FULL_GROUP_BY, которые были добавлены в MySQL 5.7 и вызывают проблемы для некоторых старых приложений.

Подтверждение того, что строгий режим SQL отключен

Вы можете убедиться в том, что строгий режим SQL отключен, выполнив эту команду от имени root:

sudo mysql -i -BN -e 'SELECT @@sql_mode' | grep -E 'ONLY_FULL_GROUP_BY|STRICT_TRANS_TABLES'

Если строгий режим отключен, вы не увидите никаких выходных данных из этой команды. Если отключение строгого режима вызывает у вас какие-либо проблемы, вы можете снова включить его, удалив этот файл и снова перезапустив MySQL.

Проделав все, как сказано выше презапускаю MySQL и получаю такой вот результат:

Показать

systemctl status mysql.service
× mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2023-06-24 16:28:14 MSK; 18s ago
Process: 53442 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
CPU: 73ms

июн 24 16:28:14 medusa-PC-O-E-M systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
июн 24 16:28:14 medusa-PC-O-E-M systemd[1]: Stopped MySQL Community Server.
июн 24 16:28:14 medusa-PC-O-E-M systemd[1]: mysql.service: Start request repeated too quickly.
июн 24 16:28:14 medusa-PC-O-E-M systemd[1]: mysql.service: Failed with result 'exit-code'.
июн 24 16:28:14 medusa-PC-O-E-M systemd[1]: Failed to start MySQL Community Server.

Если созданный файл удалить, то все стартует нормально. Ну вдруг, может кто сталкивался с подобной проблемой или что слышал. Как решить данную проблему? Спасибо.

24.06.2023 23:12 #438928
"medusa" написал:
Обратите внимание, что права у файлов должны быть 755, а не 777 – иначе мускуль не подхватит конфиг.

А зачем текстовому конфигу права на выполнение? У меня 644 и прекрасно работает.

25.06.2023 13:38 #438929
"Rizado" написал:
А зачем текстовому конфигу права на выполнение? У меня 644 и прекрасно работает.

Спасибо. Разобрался с этим.

Войдите или зарегистрируйтесь, чтобы ответить.