我想要對我的 Amazon Aurora MySQL 相容版本資料庫叢集進行驗證,但是出現「存取遭拒」錯誤。
若要向 Aurora MySQL 相容資料庫叢集進行驗證,您可以使用下列其中一個選項:
「存取遭拒」錯誤通常是因為您輸入了錯誤的用戶名或密碼。但是,此錯誤還有其他原因,包括:
如需此錯誤的詳細資訊,請參閱 MySQL 文件的存取遭拒。
確認您的資料庫執行個體目前處於可用狀態。如需詳細資訊,請參閱 Amazon Relational Database Service (Amazon RDS) 和 Aurora 文件以了解資料庫執行個體狀態。另外,請參閱如何解決連線至 Amazon RDS 資料庫執行個體時發生的問題?
密碼不正確
嘗試連線到資料庫時,請確定您輸入正確的使用者名稱和密碼。請勿在密碼中使用特殊字元。如需詳細資訊,請參閱如何重設 Amazon RDS 資料庫執行個體的主要使用者密碼?
使用者名稱不正確
檢查使用者是否存在:
mysql> SELECT user FROM mysql.user WHERE User='username';
如果該使用者不存在,則建立一個新使用者:
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'new-password-here';
mysql> FLUSH PRIVILEGES;
如需詳細資訊,請參閱主要使用者帳戶權限。
從錯誤的主機連線
當您嘗試連線到資料庫執行個體時,請務必指定正確的主機 (具有 -h 旗標) 和連接埠。檢閱 Amazon RDS 主控台上的 Instance (執行個體) 頁面,以檢查您的 Amazon RDS 主機名稱和連接埠。如需詳細資訊,請參閱連線至 Amazon Aurora 資料庫叢集。
使用者存在,但是用戶端主機沒有連線許可
檢查哪些主機使用者/主機 MySQL 允許來自以下的連線:
mysql> SELECT host, user FROM mysql.user WHERE User='username';
然後,使用正確主機 (用戶端 IP) 或 % (萬用字元) 建立使用者,以符合任何可能的 IP 地址:
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'new-password-here';
SSL 是必要項目,但是用戶端未使用
透過在資料庫執行個體上執行下列查詢,檢查是否有強制使用 SSL 的使用者:
mysql> SELECT * FROM mysql.user WHERE ssl_type <> '';
如果使用者已強制使用 SSL,則您必須使用 SSL 進行連線。如需詳細資訊,請參閱使用 SSL/TLS 加密與資料庫叢集之間的連線。
重複使用者
檢查是否有使用相同使用者名稱的使用者:
若要解決此問題,請使用其他使用者 (重複的主要使用者) 或具有 DROP 其他使用者許可的使用者登入。捨棄次要使用者之後,第一個使用者可以正常連線。
如需詳細資訊,請參閱如何為執行 MySQL 的 Amazon RDS 資料庫執行個體建立另一個主要使用者?
密碼中的特殊字元由 Bash 轉換
透過以單引號包裝密碼來防止 Bash 解釋特殊字元。
連線封包不包含正確的資訊
需要超過 connect_timeout秒才能取得連線封包。在您與 DBA 討論之後,您可以調整此資料庫參數的值,以更佳理解您的查詢和工作負載。
max_allowed_packet 變數值太小,或查詢需要比您為資料庫執行個體所配置更多的記憶體
根據預設,max_allowed_packet值很小。這樣會讓值擷取大型且可能不正確的封包。如果您使用的是大型 BLOB 資料欄或長字串,請增加 max_allowed_packet 的值。如需詳細資訊,請參閱設定 Amazon RDS for MySQL 參數的最佳實務。
若要連線,請參閱如何允許使用者使用他們的 IAM 憑證對 Amazon RDS MySQL 資料庫執行個體進行身分驗證?
如果您無法連線,請參閱為什麼使用 IAM 身分驗證嘗試連線至 Amazon RDS for MySQL 時,會遇到存取遭拒的錯誤?
若要連線,請參閱如何使用 Amazon RDS Proxy 連線到我的 Amazon RDS MySQL 資料庫執行個體或 Aurora MySQL 資料庫叢集?
如果您無法連線,請參閱為什麼我無法使用 RDS Proxy 連線到我的 Amazon RDS 資料庫或 Amazon Aurora 資料庫執行個體?
連線至 Amazon Aurora MySQL 資料庫叢集
MariaDB、MySQL 和 PostgreSQL 的 IAM 資料庫身分驗證
使用參數群組
如何對使用 VPC 的公有或私有子網路的 Amazon RDS 資料庫執行個體連線問題進行疑難排解?