Подключитесь к mariadb через SSH с Python - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь подключиться к mariadb через SSH.В отличие от подобных проблем, которые я обнаружил в Интернете, в моем случае ничего не происходит (даже сообщение об ошибке).Система может легко подключиться к серверу SSH и, похоже, подключиться к БД, но затем полностью блокируется.(Это также не завершает программу) - Мои данные верны (если я пытаюсь изменить их, например, пароль / пользователь / порт / дБ, у меня появляется сообщение об ошибке)
- я могу подключиться к серверу с помощью iTerms
- я могу подключиться к БД с помощью Navicat.

мой код:

from sshtunnel import SSHTunnelForwarder
import mysql.connector
import paramiko
import json

with open('config.json', 'r') as conf_file:
    config = json.load(conf_file)
private_key = paramiko.RSAKey.from_private_key_file(config['Private_Key_path'])

ssh_data = config['SSH_Data']
ssh_db_config = ssh_data['config']

with SSHTunnelForwarder(
        (ssh_db_config['hostname'], ssh_db_config['port']),
        ssh_username=ssh_db_config['username'],
        ssh_pkey=private_key,
        remote_bind_address=(config['SP01_Database']['host'], config['SP01_Database']['port'])
) as tunnel:
    print(tunnel.local_bind_port)
    config['SP01_Database']['port'] = tunnel.local_bind_port
    saml_connector = mysql.connector.connect(
        host='127.0.0.1',
        port=tunnel.local_bind_port,
        user='root',
        passwd='')
# Nothing happens anymore after this line
    print(saml_connector.get_sql_data('''SELECT VERSION();'''))
    saml_connector.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...