Bobcares

AWS RDS access denied for user using password yes

by | May 3, 2022

Are you stuck with AWS RDS access denied for user using password yes error? We can help you.

Here, at Bobcares, we assist our customers with several AWS queries as part of our AWS Support Services.

Today, let us see how our Support techs assist with this query.

How to resolve AWS RDS access denied for user using password yes?

Typically, error looks as shown below:

 Access denied for user 'admin'@'ip' (using password: YES)

Today, let us see the steps followed by our Support Techs to resolve it:

Firstly, check the password contained #123 so in .env file it was treated as comment.

issue with # containg password. So change password > in rds instance > modify > new password > save changes > change immediately (yes) > Success.

comment the socket on database.php.
put port in database.php if not exist.
Put FORCE_HTTP = true in (.env) file

If you have enabled IAM authentication Granting the IAM role in MYSQL would be useful as IAM authentication is taking precedence over the master user and use the same IAM user for Ec2Resource.

- mysql> CREATE USER RDSConnect IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
- mysql> GRANT ALL ON %.* TO RDSConnect@%;
- mysql> select * from mysql.user where user='RDSConnect'\G

Also check GRANT has allowed connection from master user and password from any hosts like % for grant.

mysql> GRANT ALL ON *.* TO 'admin_sync'@'%';
ERROR 1045 (28000): Access denied for user 'admin'@'%' (using password: YES) issue"

The issue occurs when using the *.* to provide the GRANT to the user.

With Amazon RDS, since it is AWS’s own cloud product (and to protect the instance itself), the master account does not have access to the mysql database.

Thus, setting *.* does not make sense within RDS.

To workaround the issue, we will use this little tidbit from the MySQL docs: The _ and % wildcards are permitted when specifying database names in GRANT statements that grant privileges at the global or database levels.

Now, that we know we can use % as the wildcard at the database level, let’s try this:

mysql> GRANT ALL ON '%'.* TO 'admin_sync'@'%';
Query OK, 0 rows affected (0.00 sec)

Finally, this works on Amazon RDS.

[Need help with the process? We’d be happy to assist]

Conclusion

In short, we saw how our Support Techs resolve AWS RDS access denied for user using password yes

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.