如果您的 Amazon MySQL RDS 实例因为升级进行了重新启动,并且您在升级后尝试连接时出现了“Access Denied”错误,则可能需要使用以下步骤来解决问题:
1.使用您的 RDS 主实例的 AWS Management Console 或 AWS CLI 获得新分配的临时凭据。
示例代码(AWS CLI):
$ aws rds generate-db-auth-token --hostname YOUR_ENDPOINT --port YOUR_PORT --region YOUR_REGION --username YOUR_USERNAME
2.使用新获得的临时凭据替换您的旧凭据。
示例代码(PHP):
$token = "GENERATED_TOKEN"; $dsn = "mysql:host=YOUR_ENDPOINT;port=YOUR_PORT;dbname=YOUR_DATABASE"; $options = array( PDO::MYSQL_ATTR_SSL_CA => '/path/to/bundle.pem', PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false);
try{ $db = new PDO($dsn, $username, $token, $options); } catch(PDOException $ex) { echo "An Error occurred!"; //user friendly message some_logging_function($ex->getMessage()); }
请注意,生成的临时凭据在 15 分钟后过期,并且不能在其到期后使用。
如果这些步骤无法解决问题,请联系 AWS Support 获取进一步帮助。