我公司在Cloudfoundry上使用Aurora数据库。我有一个运行的应用程序绑定到Aurora数据库服务。在Stratos UI中单击Application - > Variables后,我可以看到Aurora数据库的环境变量,例如主机名,用户名,密码,数据库等。
我想如何连接到数据库 - 要么是从Ubuntu mysql终端工具那么
mysql -u user1 -p -h abcdef.rds.amazonaws.com -P 1234 -D mydb123
或者来自Python
import pymysql.cursors
connection = pymysql.connect(host='abcdef.rds.amazonaws.com', user='user1',
password='***', db='mydb123',cursorclass=pymysql.cursors.DictCursor)
对于这两个电话我都得到如下响应:
pymysql.err.OperationalError: (1045, "Access denied for user 'user1 '@'1.2.3.4' (using password: YES)")
如何授予我的用户user1
访问权限?我在Stratos UI中找不到任何东西。
我自己创建了Aurora数据库服务。
我的同事终于解决了这个问题。问题在于我们没有明确提供SSL证书。
要使用的SSL证书的URL(下面的代码片段中的ca_cert_env_var)在Stratos UI中的Application - > Variables - > ca_cert下可用。
with urllib.request.urlopen(ca_cert_env_var) as resp:
with open('cert.pem', 'wb') as f:
f.write(resp.read())
db = pymysql.connect(host='abcdef.rds.amazonaws.com',
user='user1',
passwd=...,
db='mydb123',
port=1234,
ssl={'ca': 'cert.pem'})