我正在使用CloudFormation创建一个RDS实例:
"Resources": {
"myDB": {
"Type": "AWS::RDS::DBInstance",
"Properties": {
"AllocatedStorage": "5",
"DBInstanceClass": "db.m1.small",
"Engine": "MySQL",
"EngineVersion": "5.5",
"DBName": "mydb",
"MasterUsername": {
"Ref": "DBUser"
},
"MasterUserPassword": {
"Ref": "DBPassword"
},
"DBParameterGroupName": {
"Ref": "myRDSParamGroup"
}
}
}
这一切都有效.但我需要在创建数据库时在数据库上运行初始SQL,以设置我的应用程序架构.我目前的方法是让应用程序自我迁移,但我想在CloudFormation定义中执行此操作.这可能吗?
在云上设置数据库时,我一直在寻找最佳实践,但我仍然不清楚我们应该采用以下哪种解决方案?
我认为亚马逊Aurora作为更好的替代品被推向市场,但经过一些研究后,人们似乎并没有使用它.它有问题吗?
mysql amazon-ec2 amazon-web-services amazon-rds amazon-aurora
我正在使用Amazon RDS,但我不需要实例全天24小时运行,因为我现在才开发.有什么办法可以在我不需要时停止RDS实例吗?我不想付我不用的东西!
我无法让PHPMyAdmin连接到我的Amazon RDS实例.我已经将我的IP地址的权限授予数据库安全组,该数据库安全组可以访问我正在尝试访问的数据库.这是我正在使用的...
$cfg['Servers'][$i]['pmadb'] = $dbname;
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
/* Uncomment the following to enable logging in to passwordless accounts,
* after taking note of the associated security risks. */
// $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
/* Advance to next server for rest of config */
$i++;
}
$cfg['Servers'][$i]['auth_type'] = 'http'; //is this correct?
$cfg['Servers'][$i]['user'] = 'MASTER-USER';
$cfg['Servers'][$i]['password'] = 'MASTER-USER-PASSWORD';
$cfg['Servers'][$i]['hide_db'] = …Run Code Online (Sandbox Code Playgroud) 不确定这是否是一个更适合服务器故障的问题,但我最近一直在搞乱亚马逊RDS并且无法获得我的网站主机mysql用户的'文件'权限.
我假设一个简单的:
grant file on *.* to 'webuser@'%';
Run Code Online (Sandbox Code Playgroud)
会工作,但它没有,我似乎也不能用我的'root'用户.是什么赋予了?我们使用加载数据的原因是因为它一次完成数千次插入是超级快速的.
任何人都知道如何解决这个问题,还是我需要找到一种不同的方式?
这个页面http://docs.amazonwebservices.com/AmazonRDS/latest/DeveloperGuide/index.html?Concepts.DBInstance.html似乎暗示我需要找到一种不同的方法来解决这个问题.
救命?
更新 我不是要尝试导入数据库 - 我只想使用文件加载选项一次插入几十万行.
在挖掘这个是我们拥有的:
mysql> grant file on *.* to 'devuser'@'%';
ERROR 1045 (28000): Access denied for user 'root'@'%' (using password: YES)
mysql> select User, File_priv, Grant_priv, Super_priv from mysql.user;
+----------+-----------+------------+------------+
| User | File_priv | Grant_priv | Super_priv |
+----------+-----------+------------+------------+
| rdsadmin | Y | Y | Y |
| root | N | Y | N |
| devuser | N | N …Run Code Online (Sandbox Code Playgroud) 如何更改AWS Elastic Beanstalk环境的已配置RDS端点?例如,在删除RDS数据库之后或应将其替换为新的RDS数据库.
我一直在尝试从Win2008服务器上的常规SQL Server迁移到Amazon AWS RDS上的SQL Server.
我认为简单的备份和恢复会起作用.虽然AWS RDS似乎无法访问文件系统,因此sql脚本似乎都需要源服务器和目标服务器上的本地文件系统.我尝试了一个脚本跟随
exec sp_addlinkedserver @server='test.xxxx.us-east-1.rds.amazonaws.com'
-- Verify that the servers were linked (lists linked servers)
exec sp_linkedservers
EXEC ('RESTORE DATABASE [orchard] FROM DISK = ''C:\Temp\orchard.bak'' WITH FILE = 1, NOUNLOAD, STATS = 10')
AT [test.xxxx.us-east-1.rds.amazonaws.com]
Run Code Online (Sandbox Code Playgroud)
任何的意见都将会有帮助.
我在google cloud(GKE)中运行k8s群集,在aws(RDS)中运行MySQL服务器.Pod需要连接到RDS,它只允许来自某些IP的连接.如何配置传出流量以获得静态IP?
amazon-web-services amazon-rds google-cloud-platform kubernetes google-kubernetes-engine
我有以下查询:
SELECT
analytics.source AS referrer,
COUNT(analytics.id) AS frequency,
SUM(IF(transactions.status = 'COMPLETED', 1, 0)) AS sales
FROM analytics
LEFT JOIN transactions ON analytics.id = transactions.analytics
WHERE analytics.user_id = 52094
GROUP BY analytics.source
ORDER BY frequency DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
分析表有60M行,事务表有3M行.
当我EXPLAIN在这个查询上运行时,我得到:
+------+--------------+-----------------+--------+---------------------+-------------------+----------------------+---------------------------+----------+-----------+-------------------------------------------------+
| # id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | |
+------+--------------+-----------------+--------+---------------------+-------------------+----------------------+---------------------------+----------+-----------+-------------------------------------------------+
| '1' | 'SIMPLE' | 'analytics' | 'ref' | 'analytics_user_id | analytics_source' | 'analytics_user_id' …Run Code Online (Sandbox Code Playgroud) 我有一个使用 mysqldump 从 AWS RDS MariaDB 导出数据的流程,该流程已在 Concourse 上的 docker-image 中成功运行多年。
从两天前开始,该过程开始失败并出现以下错误:
mysqldump: Couldn't execute 'FLUSH TABLES WITH READ LOCK': Access denied for user 'admin'@'%' (using password: YES) (1045)
Run Code Online (Sandbox Code Playgroud)
AWS的官方解释似乎是,因为它们不允许主用户或全局读锁的超级权限,所以如果设置了 --master-data 选项,mysqldump 就会失败。
我没有设置该选项。我正在使用这些标志运行:
mysqldump -h ${SOURCE_DB_HOST} ${SOURCE_CREDENTIALS} ${SOURCE_DB_NAME} --single-transaction --compress | grep -v '^SET .*;$' > /tmp/dump.sql
Run Code Online (Sandbox Code Playgroud)
从我的本地 Mac 执行时 mysqldump 工作正常。它失败并出现错误,无法仅从 Linux 环境执行 FLUSH TABLES WITH READ LOCK。
我的问题是,有谁知道如何在 Linux 上的 mysqldump 中禁用 FLUSH TABLES WITH READ LOCK 命令?
编辑:很高兴接受下面的 @sergey-payu 答案,因为它已经解决了我的问题,但这里有一个 MySQL 错误报告的链接,以供遇到此问题的其他人使用https://bugs.mysql.com/bug.php? id=109685
amazon-rds ×10
mysql ×3
amazon-ec2 ×1
kubernetes ×1
linux ×1
mariadb ×1
phpmyadmin ×1
sql ×1
sql-server ×1