亚马逊正式声明:"Amazon RDS让您可以访问熟悉的MySQL数据库的全部功能.这意味着您现在使用的代码,应用程序和工具与现有的MySQL数据库无缝地与Amazon RDS协同工作."
我不懂.Amazon RDS可通过Web服务访问,还有一个客户端库(如.Net).
因此,如果我有一个使用DAL的现有.Net应用程序,而该DAL又会查询MySQL,我如何与Amazon RDS进行相同的DAL通话(通过Web服务).或者我在这里遗漏了什么?
我在 RDS 中有一个带有数据库名称的现有 postgres 表 my-rds-table-name
我已经使用 pgAdmin4 和以下只读用户的配置连接到它:
host_name = "my-rds-table-name.123456.us-east-1.rds.amazonaws.com"
user_name = "my_user_name"
password = "abc123def345"
Run Code Online (Sandbox Code Playgroud)
我已经验证我可以查询该表。
但是,我无法使用 python 连接到它:
SQLAlchemy==1.2.16
psycopg2-binary==2.7.6.1
mysqlclient==1.4.1
Run Code Online (Sandbox Code Playgroud)
和:
import psycopg2
engine = psycopg2.connect(
database="my-rds-table-name",
user="my_user_name",
password="abc123def345",
host="my-rds-table-name.123456.us-east-1.rds.amazonaws.com",
port='5432'
)
Run Code Online (Sandbox Code Playgroud)
它失败了
psycopg2.OperationalError: FATAL: database "my-rds-table-name" does not exist
Run Code Online (Sandbox Code Playgroud)
同样,如果我尝试使用 sqlalchemy 连接到它:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL: database "my-rds-table-name" does not exist
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
我从未使用过Amazon EC2或RDS服务.我正在尝试使用http://calculator.s3.amazonaws.com/calc5.html计算我的费用
我搜索了一下,但可以找到一些基本的东西的答案.你能帮我解决这个问题:
我是亚马逊EC2的新手,在发布此问题之前搜索了stackoverflow和serverfault.有一些想法,但没有具体到我要找的东西.有人可以帮帮我吗?
我想将IP路由表信息加入到IP whois信息中.我正在使用亚马逊的RDS,这意味着我不能使用Postgres ip4r扩展,因此我使用int8range类型来表示IP地址范围,并使用gist索引.
我的表看起来像这样:
=> \d routing_details
Table "public.routing_details"
Column | Type | Modifiers
----------+-----------+-----------
asn | text |
netblock | text |
range | int8range |
Indexes:
"idx_routing_details_netblock" btree (netblock)
"idx_routing_details_range" gist (range)
=> \d netblock_details
Table "public.netblock_details"
Column | Type | Modifiers
------------+-----------+-----------
range | int8range |
name | text |
country | text |
source | text |
Indexes:
"idx_netblock_details_range" gist (range)
Run Code Online (Sandbox Code Playgroud)
完整的routing_details表包含不到600K的行,netblock_details包含大约8.25M行.两个表中都有重叠的范围,但是对于routing_details表中的每个范围,我想从netblock_details表中获得单个最佳(最小)匹配.
我提出了2个不同的查询,我认为这些查询将返回准确的数据,一个使用窗口函数,另一个使用DISTINCT ON:
EXPLAIN SELECT DISTINCT ON (r.netblock) *
FROM …Run Code Online (Sandbox Code Playgroud) 在AWS中,RDS端点名称具有以下格式
my-db-name.aaaaaaaaaaaa.eu-west-1.rds.amazonaws.com
Run Code Online (Sandbox Code Playgroud)
标识符的第二部分是一系列看似随机的字符.这是怎么产生的?它似乎在同一帐户和区域中的所有rds实例中保持一致.是否还有其他因素会导致其发生变化.
我查看了AWS文档,但找不到任何相关信息.
我是AWS世界的新手.我在RDS(US-East-1a)上访问我的Microsoft SQL Server 2012 Express(11.00.5058)实例时遇到问题.
当我创建数据库实例时,我能够访问它,创建一些表,传输数据等等.一切正常!
我没有更改任何内容,并且在一些不活动后几个小时,我尝试使用Microsoft SQL Server企业管理器访问SQL Server实例,但我无法再连接到它.我得到以下消息:
无法连接到m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com,1433.
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:TCP提供程序,错误:0 - 等待操作超时.)(Microsoft SQL Server,错误:258)
目前,实例显示为可用,安全组为'rds-launch-wizard(sg-be4afcc6)'.
我试图通过Telnet连接到1433端口,但没有成功.
实例名称为m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com.
你知道附加什么吗?
非常感谢你的帮助.
更新
Telnet命令返回:
telnet m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com 1433
Connecting To m3instance.cqbvdcpcgye3.us-east-1.rds.amazonaws.com...
Could not open connection to the host, on port 1433: Connect failed
Run Code Online (Sandbox Code Playgroud)
数据库设置:
安全组:
VPC:
我试图通过使用我的家庭连接或咖啡店wifi连接没有成功.我现在没有检查我的IP地址是什么,但奇怪的是,当我创建数据库实例(创建SQL表,传输数据等等)时,我能够连接到SQL服务器,但几个小时后(并且没有任何变化),我无法访问它.
可能如果我在这样的安全组/入站规则中添加新规则,它将解决我的问题:(我没有尝试,因为我现在正在工作,我们有阻止SQL访问的防火墙)
此时,数据不敏感,安全性不是大问题.
再次感谢您的帮助!
我试图使用Lambda函数连接到RDS,但我收到一个错误:
var mysql = require('mysql');
exports.handler = function(event, context) {
//Connect to RDS
var connection = mysql.createConnection({
host : 'hostname',
user : 'username',
password : 'password',
database : 'database'
});
connection.connect( function(err)
{
if (err)
{
throw err;
}
else
{
console.log('DB connection establish');
}
});
};
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
START RequestId: 9711e650-e582-11e5-af5f-97ba391a42ae Version: $LATEST
2016-03-08T23:08:06.737Z 9711e650-e582-11e5-af5f-97ba391a42ae
Error: connect ETIMEDOUT
at Connection._handleConnectTimeout (/var/task/node_modules/mysql/lib/Connection.js:412:13)
at Socket.g (events.js:180:16)
at Socket.emit (events.js:92:17)
at Socket._onTimeout (net.js:327:8)
at _makeTimerTimeout (timers.js:429:11)
at Timer.unrefTimeout [as ontimeout] (timers.js:493:5)
--------------------
at …Run Code Online (Sandbox Code Playgroud) 目前使用亚马逊的Aurora数据库,在我们的Jira中,由于字符的原因,我们看到一些带有问号(???)的名称.
在进一步调查之后,似乎我需要将character_set_serverfrom 更改latin1为utf8.
在Aurora DB中,我查看了参数组和群集组设置,但我看不到character_set_server或类似的东西.
谢谢.
CloudFormation 业余爱好者在这里。一直在网上查找,但找不到任何关于在我的 RDS 实例通过 CloudFormation 建立后我将如何创建表的参考资料。是否可以指定一个 Lambda 来启动和创建所有表,或者指定一个要应用的 SQL 文件?这方面的标准模式是什么?
amazon-web-services amazon-rds aws-cloudformation aws-lambda
我正在尝试将我的 Postgresql 数据库恢复到 AWS RDS。我想我快到了。我可以获得转储,并在本地重新创建数据库,但我错过了将其恢复到 AWS RDS 的最后一步。
这是我在做什么:
$ pg_dump -h my_public dns -U myusername -f dump.sql myawsdb
create database test;
$ psql -U myusername -d test -f dump.sql
到目前为止,一切都很好。
I get an error: psql:dump.sql:2705: ERROR: role "rdsadmin" does not exist,但我想我可以忽略它,因为我的数据库包含所有内容。(我检查了 \list 和 \connect 测试)。
现在我想将此转储/测试恢复到我的 AWS RDS。
按照这个https://gist.github.com/syafiqfaiz/5273cd41df6f08fdedeb96e12af70e3b 我现在应该做:
pg_restore -h <host> -U <username> -c -d <database name> <filename to be restored>
但是我的文件名是什么,我的数据库名是什么?
我试过:
pg_restore -h mydns -U myusername …
amazon-rds ×10
postgresql ×3
aws-lambda ×2
amazon-ec2 ×1
database ×1
django ×1
dump ×1
migrate ×1
mysql ×1
node.js ×1
python-3.x ×1
restore ×1
sql ×1
sql-server ×1