use*_*702 5 python mysql amazon-web-services amazon-rds boto3
我想使用来自 raspberrypi 的 python 连接 MySQL RDS DB。(我想使用选择查询从 MySQL 表“face”中获取 seq。)
我有一个错误,但我无法修复它。
这是 rds mysql 连接代码:
import rds_config
import pymysql
rds_host = rds_config.rds_host
name = rds_config.rds_user
password = rds_config.rds_pwd
db_name = rds_config.rds_db
conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name,
connect_timeout=10)
with conn.cursor() as cur:
cur.execute("select seq from face")
conn.commit()
Run Code Online (Sandbox Code Playgroud)
rds_config:
rds_host='rds endpoint'
rds_port=3306
rds_user='user'
rds_pwd='password'
rds_db='db name'
Run Code Online (Sandbox Code Playgroud)
这是回溯:
Traceback (most recent call last):
File "getRds.py", line 18, in <module>
conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, connect_timeout=10)
File "/usr/local/lib/python2.7/dist-packages/pymysql/__init__.py", line 94, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 327, in __init__
self.connect()
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 598, in connect
self._request_authentication()
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 862, in _request_authentication
auth_packet = self._process_auth(plugin_name, auth_packet)
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 933, in _process_auth
pkt = self._read_packet()
File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 683, in _read_packet
packet.check_error()
File "/usr/local/lib/python2.7/dist-packages/pymysql/protocol.py", line 220, in check_error
err.raise_mysql_exception(self._data)
File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 109, in raise_mysql_exception
raise errorclass(errno, errval)
pymysql.err.InternalError: (1049, u"Unknown database 'bsb-rds'")
Run Code Online (Sandbox Code Playgroud)
我已经在 vpc 安全组中添加了 ip 地址,并且公共访问已开启。可以通过 mysql cli 或工作台进行连接。
谁能帮我?
小智 0
我遇到了你的具体问题,我相信我有解决方案:
上下文:我的技术堆栈如下所示
这是我的问题所在,我相信您的问题也在同一个地方:
您在连接中使用AWS RDS NAME ,而不是使用真实的数据库名称。
只需将连接中的数据库名称更改为我通过 MySQL Workbench 设置的真实数据库名称即可解决该问题。
其他需要读者注意的事项:
请确保以下事项:
| 归档时间: |
|
| 查看次数: |
2842 次 |
| 最近记录: |