Настройка нового сервера, который я хочу связать с центральной базой данных MySQL, используя соединение TLS для безопасности
Следуя шагам, подобным this Я смог настроить TLS дляНа моем сервере MySQL я сделал несколько пользователей, которые могут войти с любого хоста (%) и требуют SSL-соединений
+------------+-----------+----------+
| user | host | ssl_type |
+------------+-----------+----------+
| testuser | % | ANY |
+------------+-----------+----------+
Я могу подтвердить это на любом хосте, подключившись с помощью таких инструментов, как HeidiSQL или MySQLИнструмент CLI Пример: mysql -u testuser -p -h mysql_server_IP
это инициирует TLS-соединение, что подтверждается \ s. Это исключает большинство проблем, которые я видел на этом и других форумах, что вызвано тем, что для хоста установлено значение localhost.
При доступе к локальным базам данных работает нормально.При подключении к удаленным TLS-серверам баз данных это также работает нормально.
import pymysql.cursors
connection = pymysql.connect(host=host,
user=user,
password=password,
db=db,
cursorclass=pymysql.cursors.DictCursor)
Когда я пытаюсь получить доступ к моему серверу с помощью require-tls, я получаю следующую ошибку pymysql.err.OperationalError: (1045, "Access denied for user 'testuser'@'desktop.example.com' (using password: YES)")
Другие выводы, которые у меня есть, указывают на то, что эта ошибка вызвана: Неверное имя пользователя / паролькомбинации или соединение, запрещенное этим хостом.Однако я знаю, что могу устанавливать соединения с этого хоста, как продемонстрировал CLI.