#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)