我可以使用cli这样连接到mysql:
mysql -u cwaugh -p******** -h example.com mydb
但是,当我尝试使用具有相同参数的python3时,出现错误:mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'cwaugh'@'xxx.xxx.xxx.xxx'
(在我的ip处应该是x)
我的python代码如下:
import mysql.connector
import datetime
thinknode = mysql.connector.connect(
host = "example.com",
user = "cwaugh",
passwd = "********",
db = "mydb")
凭据也可在javascript中使用,但是 仅(如果我在创建连接时使用了ssl: "Amazon RDS"
(数据库在AWS RDS上)。>
从python连接需要做什么?我可以从同一台计算机上的其他应用程序连接,因此可以排除AWS安全组和MySQL主机限制。这似乎仅在python中发生。像javascript一样,这是否与ssl有关?
答案 0 :(得分:0)
您需要向mysql.connector.connect函数添加ssl_ca
参数。例如
thinknode = mysql.connector.connect(
host = "example.com",
user = "cwaugh",
passwd = "********",
db = "mydb",
ssl_ca = "./rds-combined-ca-bundle.pem")
我不确定为什么javascript能够使用“ Amazon RDS”,并且如果python也这样做会容易得多,但事实并非如此。