Включить Python для подключения к MySQL через SSH

#python #mysql #ssh

#python #mysql #ssh

Вопрос:

Я использую pymysql с Python 3.8, чтобы позволить Python устанавливать соединения с другим сервером MySQL. Я получаю сообщение об ошибке:

 with pymysql.connect('127.0.0.1', user = '123', password = '123', port = server.local_bind_port) as connection:
AttributeError: __enter__
  

python:

     from sshtunnel import SSHTunnelForwarder
    import pymysql
    
    
    with SSHTunnelForwarder(
        ('76.21.187.192', 2222),
        ssh_username = '123', 
        ssh_password = '123',
        remote_bind_address = ('127.0.0.1', 3306)) as server: 
    
        with pymysql.connect('127.0.0.1', user = '123', password = '123', port = server.local_bind_port) as connection:
            print('OK')
  

Как правильно подключиться к MySQL?

Ответ №1:

Когда вы используете блок with в python, объект в операторе with получает свой метод enter, блок внутри with запускается, а затем вызывается exit (необязательно с информацией об исключении, если оно было вызвано).). Таким образом, если у вас нет определенного в вашем классе ввода, вы увидите эту ошибку.

или же вместо приведенного выше оператора вы используете :

подключение = pymysql.connect(‘127.0.0.1’, user = ‘123’, password = ‘123’, порт = server.local_bind_port)