Исправлено — ошибка подключения к MySQL: сбой проверки сертификата

15 feb 2023 2 min di lettura
Исправлено — ошибка подключения к MySQL: сбой проверки сертификата
Indice dei contenuti

Введение

MySQL — это система управления реляционными базами данных с открытым исходным кодом. Другими словами, это программа, позволяющая хранить, систематизировать и управлять большими объемами данных в отдельных таблицах, связанных друг с другом с помощью реляционных ключей. MySQL часто используется для поддержки динамических веб-сайтов, например, основанных на CMS, таких как WordPress.

Система MySQL состоит из двух основных частей: сервера, представляющего собой программу, которая управляет данными и обеспечивает доступ к данным, и клиента командной строки, который позволяет пользователям взаимодействовать с сервером и выполнять запросы к данным. MySQL полностью бесплатен по лицензии с открытым исходным кодом в своем наиболее распространенном воплощении, но он также доступен в платных версиях для тех, кому нужны более продвинутые функции или специальная поддержка.

Таким образом, MySQL — это очень популярное программное обеспечение для реляционных баз данных, которое позволяет вам управлять и организовывать большие объемы данных.

Проблема

Ошибка SSL-соединения: ошибка: 0A000086: SSL-процедуры:: Ошибка проверки сертификата обычно возникает при установлении SSL-соединения с сервером MySQL. Я настраивал репликацию между двумя серверами MySQL, работающими под управлением MySQL версии 8.0. После настройки репликации команда «SHOW SLAVE STATUS» на ведомом экземпляре показывает следующую ошибку:

Last_IO_Error: ошибка при подключении к мастеру '[email protected]:3306' - время повторной попытки: 60 повторных попыток: 3 сообщение: ошибка соединения SSL: ошибка: 0A000086: подпрограммы SSL:: проверка сертификата не удалась

Затем я попытался подключить главный сервер к ведомому с помощью командной строки с сертификатом клиента. Снова я получил следующую ошибку с подключением:

mysql -h 192.168.1.100 -u repl_user -p --ssl-ca=/etc/mysql/certs/ca.pem --ssl-cert=/etc/mysql/certs/client-cert.pem --ssl-key=/etc/mysql/certs/client-key.pem
Enter password:
 ERROR 2026 (HY000): SSL connection error: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed

Возможные причины

Эта ошибка может возникать по нескольким причинам. Вот некоторые возможные причины:

  • Клиент не доверяет SSL-сертификату сервера MySQL, потому что он самоподписан или не подписан центром сертификации (CA), которому доверяет клиент.
  • Срок действия SSL-сертификата сервера MySQL истек.
  • SSL-сертификат сервера MySQL настроен неправильно.
  • Клиент использует старую версию клиентской библиотеки MySQL, которая не поддерживает SSL-сертификат сервера.

Решение

Проверьте, синхронизированы ли оба системных часа.

Затем проверьте сертификат клиента и сервера с файлом CA и убедитесь, что все в порядке. Используйте следующую команду для проверки сертификатов:

openssl verify -CAfile ca-cert.pem server-cert.pem client-cert.pem
server-cert.pem: OK
 client-cert.pem: OK

Убедитесь, что вы установили другое «Общее имя (FQDN)» для сертификата ЦС и главного/клиентского сертификата.

Проверьте состояние переменных SSL/TLS, введя. Убедитесь, что сервер использует правильный сертификат.

SHOW VARIABLES LIKE '%ssl%';
+-------------------------------------+----------------------------------+
 | have_openssl | YES |
 | have_ssl | YES |
 | ssl_ca | /etc/mysql/certs/ca-cert.pem |
 | ssl_capath | |
 | ssl_cert | /etc/mysql/certs/server-cert.pem |
 | ssl_cipher | |
 | ssl_crl | |
 | ssl_crlpath | |
 | ssl_fips_mode | OFF |
 | ssl_key | /etc/mysql/certs/server-key.pem |
 | ssl_session_cache_mode | ON |
 | ssl_session_cache_timeout | 300 |
 +-------------------------------------+----------------------------------+
 27 rows in set (0.01 sec)

Наконец, убедитесь, что вы используете правильное имя пользователя базы данных, имя хоста и пароль для подключения.

Заключение

В заключение, ошибка соединения SSL: ошибка: 0A000086: рутинная ошибка проверки SSL:: сертификата может возникнуть при установлении соединения SSL с сервером MySQL по нескольким причинам, включая ненадежный или просроченный сертификат SSL, неправильно настроенный сертификат SSL или устаревшая клиентская библиотека MySQL. Чтобы устранить эту ошибку, вы можете импортировать сертификат SSL сервера в хранилище доверенных сертификатов клиента, обновить сертификат SSL, проверить конфигурацию SSL сервера или обновить клиентскую библиотеку MySQL до более новой версии, поддерживающей сертификат SSL сервера.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.