SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.06.2023 18:22:26

medusa
Участник
Зарегистрирован: 24.06.2023
Сообщений: 3

MySQL не стартует

Доброго времени суток. Возникла необходимость протестировать HostCMS. для этого была необходима настройка MySQL. А именно:
Пользователю должны быть даны следующие привилегии: 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].
Все бы ничего, но файл my.cnf в MySQL 8 практически пустой:
***
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql... ables.html

#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
***

Через гугление нашел следующее решение:
***
Этот строгий режим 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.

***

При удалении созданного файла все стартует. поиск ошибки в Гугле результатов не дал. Помогите разобраться пожалуйста. Спасибо((
medusa_l_0011 на форуме Обратить внимание администрации на это сообщение    
0
Мультицитирование этого сообщения Быстрый ответ на это сообщение

Неактивен

 

#2 25.06.2023 01:50:40

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2420

Re: MySQL не стартует

У Вас в конфиге ведь строки

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

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

Решение, найденное в гугле (я про /etc/mysql/conf.d/disable_strict_mode.cnf)
выглялит правильно. владельцем файла является ли mysql?
что пишется в лог ошибок mysql при попытке стартануть сервис?

>sql_mode=””

вот еще такие кавычки мне не нравятся, засуньте в обычные двойные, как в
https://stackoverflow.com/questions/239 … l-group-by


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 25.06.2023 09:25:03

medusa
Участник
Зарегистрирован: 24.06.2023
Сообщений: 3

Re: MySQL не стартует

deadka написал:

У Вас в конфиге ведь строки

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

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

Спасибо за отзыв. Дело в том, что все они пусты:
/etc/mysql/conf.d/
[mysql]

/etc/mysql/mysql.conf.d/
#
# The MySQL database client configuration file
#
# Ref to https://dev.mysql.com/doc/refman/en/mys … tions.html

[mysql]

Вот, как выглядят эти файлы. Т.е. во всех файлах конфигурации пустота.

Решение, найденное в гугле (я про /etc/mysql/conf.d/disable_strict_mode.cnf)
выглялит правильно. владельцем файла является ли mysql?

У меня стоит владелец файла root. Более того, все эти файлы принадлежат root. И как повлияет изменение этих прав на работу MySQL я слабо представляю(((

Отредактированно medusa (25.06.2023 09:33:51)

Неактивен

 

#4 25.06.2023 10:37:22

medusa
Участник
Зарегистрирован: 24.06.2023
Сообщений: 3

Re: MySQL не стартует

Огромное Вам спасибо. Все получилось. Дело было действительно в правах на файл.
В финале решение выглядит так:
1. Необходимо создать файл etc/mysql/conf.d/disable_strict_mode.cnf
2. Выставить права на файл Владелец - MySQL Группа - mysql
3. В теле файла прописать
[mysqld]
sql_mode=""
4. Перезагрузите MySQL с помощью этой команды:
sudo service mysql restart
5. Желательно проверить статус MySQL:
systemctl status mysql.service

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

Отредактированно medusa (25.06.2023 11:12:31)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson