Рейтинг:2

'--ssl=off' Ошибка при запуске службы Mysql 8.0.26

флаг ph

Я вижу странную ошибку в mysqld.service заметки о состоянии...

Синтаксис --ssl=off устарел и будет удален в будущем выпуске. Вместо этого используйте --tls-version=invalid.

Дело в том, что я отключил SSL, используя skip_ssl в /etc/my.cnf и я не вижу никаких переменных, относящихся к SSL, определенных в /etc/my.cnf.d/*. Я также зарегистрировался /etc/systemd/system/mysqld.service.d/override.conf и единственное, что я установил, это ЛимитNOFILE.

--ssl=выкл. Параметр является переменной запуска командной строки, так откуда может появиться эта ошибка? Есть ли новый способ отключить SSL, кроме skip_ssl?

У меня Rockly Linux 8 и MySQL 8.0.26.


Соответствующую документацию, включая примечание об устаревании, можно найти здесь: https://dev.mysql.com/doc/refman/8.0/en/server-options.html

Рейтинг:2
флаг ph

Я нашел в документах, наконец, что skip_ssl на самом деле одна и та же переменная в cnf формат, который --ssl находится в командной строке, поэтому неоднозначность сообщения об ошибке привела меня в замешательство.

Исправление для этого заключается в замене skip_ssl с tls_version='' поскольку первый теперь устарел, начиная с MySQL 8.0.26.

Это привело к ряду новых ошибок, связанных с ssl, в статусе, поэтому я опубликую все заметки, которые смогу, после того, как решу их, надеюсь, это поможет устранить любую путаницу и сэкономит вам время.


Что касается новых ошибок при использовании tls_version=''...

[Предупреждение]... [Сервер] Не удалось инициализировать TLS для канала: mysql_main. См. ниже описание точной проблемы.
[Предупреждение] ... [Сервер] Не удалось настроить SSL из-за следующей ошибки библиотеки SSL: недопустимая версия TLS
[Предупреждение] ... [Сервер] Плагин mysqlx сообщил: «Ошибка при настройке SSL: «Контекст SSL не может использоваться без сертификата и закрытого ключа»»

Есть открыть отчет об ошибке в оракуле обрисовывая в общих чертах это поведение, к которому я добавил свой голос.

флаг de
Согласно исходному сообщению об ошибке, ваше решение `--tls-version=''` должно быть заменено на `--tls-version=invalid`. Возможно, это позволит избежать появления другого сообщения об устаревшем параметре в будущем.
флаг ph
@ Ned64 спасибо за предложение, но это параметр командной строки, в документации указано, что `tls_version=''` следует использовать в формате `my.cnf`. https://dev.mysql.com/doc/refman/8.0/en/server-options.html
флаг de
Хорошо, спасибо, я не знал. Возможно, свяжите документацию в своем ответе.
Bachsau avatar
флаг ae
Неважно, используете ли вы символы подчеркивания или тире, и также не имеет значения, является ли значение пустым или «недопустимым». Это всегда приводит к тому, что сервер не запускается с сообщением журнала «Опция --tls-version или --admin-tls-version имеет недопустимое значение», поэтому я бы пока остался с `skip-ssl` . Я предполагаю, что это ошибка или какой-то разработчик MySQL - настоящий идиот. Они также считают, что «default_authentication_plugin» устарел, но это по-прежнему единственный способ установить значение по умолчанию, если первым методом в «authentication_policy» является «*», в то время как устаревшие вещи на самом деле должны быть необязательными.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.