如何直接将数据插入AWS RDS?

时间:2016-02-04 01:24:00

标签: amazon-web-services amazon-rds

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

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

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

但我在AWS中迷失了方式

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

我认为这是由于AWS中的防火墙而发生的。

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

2 个答案:

答案 0 :(得分:0)

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

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

如果允许这些,使用mySQL Workbench的连接应该有效。如果没有,可能是连接中的凭据。

答案 1 :(得分:0)

您可以使用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()