简体   繁体   中英

SSL connection to MySQL dB failed

I have a python script running on an Amazon EC2 instance (linux) that scrapes the data from a source and outputs a pandas dataframe to me. I want to send this dataframe to MySQL on Amazon RDS. But when I run the script, it throws me the following error:

sqlalchemy.exc.InterfaceError: (mysql.connector.errors.InterfaceError) 2026 (HY000): SSL connection error: SSL_CTX_set_tmp_dh failed

Before executing the script on an ec2 instance, I was running it on my local machine and it was working fine. Meaning, I was able to send the data to the RDS scraped by my scraper. But now that I am running the script on EC2, it is showing me SSL connection errors.

I might not have configured the EC2 instance correctly or might have forgotten to install something. I don't work with SSL much, so I'm finding it difficult figuring out how this is supposed to be set up. Any pointers, even obvious ones, will likely help at this stage.

I have tried some of the solutions that i found on stack but none of them worked. This is my code to connect to the database:

def dbConnect():
    end_point = xxx
    username = xxx
    password = xxx
    port=3306
    global dbname
    dbname=xxx
    conn = pymysql.connect(end_point, user=username,port=port,passwd=password, db=dbname)
    global eng
    eng=create_engine('mysql+mysqlconnector://xxx:xxx@xxx:3306')
    return dbname,eng

I have something very similar, although I use PuTTy for the SSH to create a port forwared tunnel.
Make sure you have the security groups set up correctly between your EC2 instance and RDS too.

The solution is to downgrade openssl.

conda install openssl=1.0.2p

See this thread for more information:

https://github.com/ContinuumIO/anaconda-issues/issues/10646

Also this other question .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM