【问题标题】:How to insert data to AWS RDS directly?如何直接向 AWS RDS 插入数据?
【发布时间】:2019-03-25 21:26:11
【问题描述】:

我已经在 AWS RDS 中创建了 Mysql 实例。

我想创建一个数据库并直接手动插入一些数据。

在我可以通过 Phpmyadmin 插入数据之前。

但我在 AWS 中迷路了

我已经为此下载了 mysql 工作台。但它无法连接到实例并显示错误消息(无法连接到实例(60))

我认为这是由于 AWS 中的防火墙造成的

我需要像phpmyadmin这样手动插入数据的方式或应用程序。

【问题讨论】:

  • MySQL Workbench 是要走的路。您只需要解决连接问题。

标签: amazon-web-services amazon-rds


【解决方案1】:

您所指的防火墙是安全组。您可以选择您的 RDS 实例,单击显示详细信息并确保附加到它的安全组在端口 3306 上具有源 0.0.0.0/0 的入站规则(最佳做法是只允许从您将要的 IP 范围访问实际访问它)?

如果没问题,请单击为您的 RDS 实例创建的 VPC(仍在 RDS 详细信息页面上),然后在 VPC 的页面上,左侧菜单中有一个安全组选项。应该有“从 RDS 管理控制台创建”规则。检查是否也配置为允许访问端口 3306。

在允许的情况下,使用 mySQL Workbench 的连接应该可以正常工作。如果不是,则可能与连接中的凭据有关。

【讨论】:

  • 这是假设 RDS 实例已“公开访问”。
  • 感谢您对我的问题感兴趣。我照你说的做了。我尝试使用工作台再次连接到 RDS 实例。我收到以下错误消息。 “检查您的 SSH 连接设置以及 SSH 服务器是否已启动。错误:超时”和“错误无法确定远程操作系统详细信息”致以问候
  • 又快写了。我只是添加了尽可能多的规则。然后我收到错误消息“错误无法建立 SSH 连接:读取 SSH 协议横幅时出错[Errno 54] 对等方重置连接。”
  • @JinHong 当您尝试从工作台连接时,您使用的是什么连接方式?标准 TCP/IP 还是基于 SSH 的标准 TCP/IP?如果您正在尝试第二个,请尝试不使用 SSH。如果有效,则说明您的 SSH 配置有问题。
  • 谢谢。我真的可以通过 TCP/IP 解决这个问题。现在我可以自己操作实例了。再次感谢。
【解决方案2】:

您可以使用 Python 的 pyodbc 库:

import pyodbc

server = 'tcp:instance.abcd12345.rds.amazonaws.com'
database = 'database4'
username = 'your_username'
password = 'your_Password'

cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)

cursor = cnxn.cursor()

cursor.execute('''

                INSERT INTO Table3(ID,LastName,FirstName,Address,City)
VALUES ('444', 'Schwartz', 'Paul','Wilshire Blvd, 2333', 'Los Angeles');

                ''')

cnxn.commit()

cursor.execute("SELECT * FROM Database4.dbo.Table3;")

row = cursor.fetchone()
while row:
    print(row)
    row = cursor.fetchone()

【讨论】:

    猜你喜欢
    • 2019-12-12
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2016-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多