2016-04-02 2 views
0

Я пытаюсь соединить колба приложение соединения MySQL с АМС РДС над SSL, оно работает, когда я пытаюсь использовать MySQL клиент, как этотКолба-SQLAlchemy SSL-соединение с ошибкой AWS RDS

mysql -u user -h myrds.rds.amazonaws.com -p --ssl-ca=rds-combined-ca-bundle.pem

I могут войти, но когда я попробовать с колбой приложением

SQLALCHEMY_DATABASE_URI = 'mysql://user:[email protected]/miro_dev?ssl_cert=rds-combined-ca-bundle.pem'

это отправить меня ошибку

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2026, 'SSL connection error: Unable to get private key')

ответ

0

Я делаю это:

... 
ssl_args = {'ssl': {'ca': 'YOUR_SSL_CERT_PATH'}} 

db_url = 'mysql://{}:{}@{}/{}'.format(username, password, server, database) 
engine = create_engine(db_url, connect_args=ssl_args, echo=False) 
cnx = engine.connect() 
df = pd.read_sql_table('table_name', cnx) 

И я предлагаю не вход путь следующим образом:

~/...

но:

/home/YOUR_USER/...

0

Я думаю, что в вашем случае строка подключения правильно, вам просто нужно использовать ssl_ca вариант, а не ssl_cert:

SQLALCHEMY_DATABASE_URI = 'mysql://user:[email protected]/miro_dev?ssl_ca=rds-combined-ca-bundle.pem' 
0

Я был в состоянии получить эту работу, добавив sslmode = проверить-ча & sslrootcert = РДС-парогазового ча-bundle.pem

?

Это произошло из postgresql docs here вместе с aws docs.

Вы можете изменить sslmode, чтобы потребовать, если вам не нужна проверка rds. Я загрузил файл pem с here.