Py学习  »  DATABASE

无法连接到AWS Aurora DB服务器--mysql引擎

nikhil int • 3 年前 • 1358 次点击  

我已经创建了一个AWS Aurora DB serverless公共可用,我正在尝试使用python连接到数据库。但我无法连接,我怀疑VPC。

请建议如果我必须检查任何其他内容,我也有以下问题;

  • AWS Aurora serverless with min配置是否为免费轮胎数据库?
  • 创建数据库时,我的VPC已经是公共的,但我无法连接,所以我需要执行任何其他配置更改吗?

代码片段:

import mysql.connector as mysq
import sys, os, boto3 as aws, pandas as pd, pymysql
from sqlalchemy import create_engine, inspect

ENDPOINT = "random.cluster-random.ap-south-1.rds.amazonaws.com"
PORT = "3306"
USER = "random"
REGION = "ap-south-1"
DBNAME = "random"
PASSWORD = "random"

方法1:

client = aws.client('rds')
token = client.generate_db_auth_token(DBHostname=ENDPOINT, Port=PORT, DBUsername=USER, Region=REGION)
print(token)

try:
    conn =  mysq.connect(host=ENDPOINT, user=USER, passwd=token, port=PORT, database=DBNAME)

    cur = conn.cursor()
    cur.execute("""SELECT now()""")
    query_results = cur.fetchall()
    print(query_results)
except Exception as e:
    print("Database connection failed due to {}".format(e))

方法2:

CONNECTION_STRING = 'mssql+pymssql' + '://' + USER + ':' + PASSWORD + '@' + ENDPOINT + ':' + str(PORT) + '/' + DBNAME
engine = create_engine(CONNECTION_STRING)
print(inspect(engine).get_table_names())

方法3:

conn = pymysql.connect(host=ENDPOINT, user=USER,port=int(PORT), passwd=PASSWORD, db=DBNAME)

谢谢 尼基尔

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/131553
 
1358 次点击  
文章 [ 1 ]  |  最新文章 3 年前