Я пытаюсь подключиться к 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()