Mysql

從 EC2 實例連接到新的 RDS 實例

  • September 27, 2015

我正在嘗試使用 MediaWiki 和 WP 連接到兩個 MySQL 數據庫。數據庫工作正常,表單也正常工作,但是當我嘗試使用 MediaWiki 或 WP 建立與數據庫的連接時,我只得到一個DB connection error: Permission denied.

一些事實:

我能夠…

  • 通過 MySQL Workbrench 連接到 RDS 以添加/刪除使用者/表/架構
  • 通過 ec2 命令行 ( mysql -u MYUSER -p -h ENDPOINT)連接到 RDS

我無法…

  • 在 MySQL Workbrench 或命令行中檢查我的伺服器日誌Could not acquire management access for administration. Exception: Unsupported administration target type: ('windows', 'linux', 'wmi')
  • 刪除 rdsadmin 或還原已分配的角色和權限Error changing account rdsadmin@localhost: Access denied on rdsadmin@localhost
  • 將 DBA/MaintenenaceAdmin/ProcessAdmin 或 ReplicationAdmin 授予 WPuserError changing account WPuser@%: Access denied for user 'WPuser'@'%' (using password: YES)

到目前為止我做了什麼:

  1. 我將 EC2 實例的彈性/私有甚至公共 IP 地址添加到 VPC 安全組。如下:xx.xx.xxx.xxx/32 和 xxx.xx.xx.xxx/32。我沒有使用 EC2-Classic 平台,所以沒有我看到的 RDS 安全組。 在此處輸入圖像描述
  2. GRANT ALL ON% .* TO WPuser@%`; 和 GRANT 索引、創建、選擇、插入、更新、刪除、刪除、更改、鎖定 WIKIdb.* 上的表到 ‘WIKIuser’@‘ENDPOINT’;
  3. 請參閱下圖以了解規則 在此處輸入圖像描述

同樣,我的問題是:

我錯過了什麼以及為什麼將這些應用程序建立到數據庫的解決方案?

另外你有什麼想法,我怎樣才能解決“我不能…… ”部分到“我能…… ”?

對於這些問題,我將不勝感激

在 MySQL Workbrench 或命令行中檢查我的伺服器日誌 無法獲取管理訪問權限以進行管理。

是的,您不能使用 Workbench 和 RDS 執行此操作,因為這需要 shell 訪問權限,而 RDS 不允許。可通過控制台和 API 訪問日誌。

刪除 rdsadmin 或還原已分配的角色和權限

是的,您不能這樣做,因為 rdsadmin 是 RDS 基礎架構用來管理您的實例的帳戶。你控制不了它。

將 DBA/MaintenenaceAdmin/ProcessAdmin 或複制管理員授予 WPuser 更改帳戶 WPuser@% 時出錯:使用者 ‘WPuser’@’%’ 的訪問被拒絕(使用密碼:是)

這裡的問題是三重的。

工作台中的“角色”對於 Oracle 來說是一個荒謬的想法,因為它們與 MySQL 上的真實結構不對應……它們只是權限預設的精美包裝,您最好忽略該功能並理解權限如何實際工作。

DBA 角色在 RDS 上不起作用,因為它包含SUPERRDS 不提供的權限,因此即使您沒有犯最後一個錯誤,它也無法正常工作:

您似乎正在嘗試授予“WPUser”權限……而您以“WPUser”身份登錄。您不能向自己授予權限。您也不能授予您不擁有的權限。如果 WPUser 是您的 RDS 實例的主使用者,它已經擁有它可以擁有的所有權限……儘管您不應該使用您的主使用者來訪問您的應用程序訪問數據庫。

我將 EC2 實例的 Elastic/Private 甚至公共 IP 地址添加到 VPC 安全組

這可能不是問題,在這裡。如果安全組不正確,您將在長時間超時後無法連接,並且錯誤程式碼不會是“拒絕訪問”。

也可能不正確,具體取決於您用作“端點”的內容:

GRANT ... ON WIKIdb.* to 'WIKIuser'@'ENDPOINT';

如果“ENDPOINT”是 RDS 端點,這是不正確的。您永遠無法RDS 端點連接到 RDS,甚至無法從“localhost”連接到 RDS。

最後一個參數需要是執行 wiki 程式碼的伺服器的 IP 地址,或者網路塊的萬用字元,例如“172.31.%”。

http://aws.amazon.com/developertools/Amazon-RDS/2928

根據上面的連結,如果您安裝了 Amazon RDS 命令行工具包,

2013-03-04 - 添加了對 DB 日誌文件訪問的支持。

以下是設置 RDS 命令行的說明:http: //docs.aws.amazon.com/AmazonRDS/latest/CommandLineReference/StartCLI.html

RDSCli-1.19.004 sye$ “rds –help” 或 “rds-describe-db-log-files –help”

此外,我不認為可以為 RDS 實例替換/刪除 rdsadmin 角色。創建具有其他分配的數據庫權限的新角色。

引用自:https://dba.stackexchange.com/questions/116249