gpt4 book ai didi

python - pymysql.err.InternalError : (1049, "Unknown database")

转载 作者:行者123 更新时间:2023-12-03 17:31:25 32 4
gpt4 key购买 nike

我想使用 raspberrypi 中的 python 连接 MySQL RDS DB。(我想使用 select 查询从 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()

rds_config:
rds_host='rds endpoint'
rds_port=3306
rds_user='user'
rds_pwd='password'
rds_db='db name'

这是回溯:
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'")

我已经在 vpc 安全组中添加了 IP 地址,并且公共(public)访问已打开。
可以通过 mysql cli 或 workbench 进行连接。

谁能帮我?

最佳答案

我遇到了您的确切问题,我相信我有解决方案:

语境:
我的技术堆栈如下所示

  • 使用 AWS RDS (MySQL)
  • 在本地主机上使用 Flask Development
  • RDS 实例名称:“test-rds”
  • 实际数据库名称:test-database

  • 这是我的问题所在,我相信您的问题在同一个地方:

    您正在使用 AWS RDS 名称 在您的连接中,而不是使用真正的 数据库名称 .

    只需将连接中的数据库名称更改为我通过 MySQL Workbench 设置的真实数据库名称即可解决问题。

    读者需要注意的其他事项:

    请确保以下几点:
  • 如果您从 AWS VPC 外部进行连接,请确保您已启用公共(public)访问。这是一个巨大的“陷阱”。 (注意安全风险)
  • 确保您的连接没有被 NACL
  • 阻止
  • 确保安全组规则
  • 允许您的连接

    关于python - pymysql.err.InternalError : (1049, "Unknown database"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53395679/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com