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

How to insert data to AWS RDS directly?

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

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

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

但我在 AWS 迷路了

我为此下载了 mysql workbench。但是它无法连接到实例并显示错误消息(无法连接到实例(60))

我认为这是因为 AWS 中的防火墙

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

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

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

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

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