Ecommerce Shopify WordPress Discussion

MySQL: Access denied for user 'test'@'localhost' (using password: YES) except root user

I am facing problem with mysql non root/admin user, I am following the below steps for creating user and its privileges, correct me if i am doing wrong, i am installing mysql on RHEL 5.7 64bit, packages are mentioned below, once i done the rpm install we are creating mysql db using mysql_install_db, then starting the mysql service then using mysql_upgrade also we are doing to the server. After this process i can login as root but with a non-root user I am not able to log into the server: [root@clustertest3 ~]# rpm -qa | grep MySQL MySQL-client-advanced-5.5.21-1.rhel5 MySQL-server-advanced-5.5.21-1.rhel5 [root@clustertest3 ~]# cat /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # Disabling symbolic-links is recommended to prevent assorted security risks; # to do so, uncomment this line: # symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [root@clustertest3 ~]# ls -ld /var/lib/mysql/mysql.sock srwxrwxrwx 1 mysql mysql 0 Nov 30 11:09 /var/lib/mysql/mysql.sock mysql> CREATE USER 'golden'@'%' IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> SELECT USER(),CURRENT_USER(); +----------------+----------------+ | USER() | CURRENT_USER() | +----------------+----------------+ | root@localhost | root@localhost | +----------------+----------------+ 1 row in set (0.00 sec) [root@clustertest3 ~]# mysql -ugolden -p Enter password: ERROR 1045 (28000): Access denied for user 'golden'@'localhost' (using password: YES) This is the problem I am facing, is there any solution to this?
Just add computer name instead of 'localhost' in hostname or MySQL Host address.

February 26, 2024

sometimes,it can just be a wrong password.Kindly remember your passwords including their sensitivity.

February 26, 2024

Had a similar issue when trying to grant privileges to an already existing user using the command: use my-db; GRANT ALL PRIVILEGES ON my-database.* TO 'my-user'@'%' IDENTIFIED BY 'my-password'; Here's how I solved it: It had to do with 2 issues: The password of the already exiting user was different from the password that provided in the GRANT ALL PRIVILEGES command. I had to rerun the GRANT ALL PRIVILEGES with the correct password for the already existing user. The host name of the database server that I provided when connecting to the database was incorrect. I had created the database and the user on a particular database server and I was trying to connect to another database server different from the database server where the database and the user were created. I had to get the correct database server hostname, and I used it for the connection. After all this were sorted, I was able to connect to the database using the credentials. The issue was that my-user already had the privileges I wanted to grant it. You can check to see the privileges that you've granted your user using: SHOW GRANTS FOR 'your-user'@'%'; OR SHOW GRANTS FOR 'your-user'@'localhost'; That's all.

February 26, 2024

The error of ERROR 1045 (28000): Access denied for user might not be always related to privilages problems but to the fact that there is a missing -p at the end of the command: # Will prompt us a mysql terminal in case there are no privilages issues mysql -u root -p # Will fail with the mentioned ERROR 1045 mysql -u root

February 26, 2024

connect your server from mysqlworkbench and run this command-> ALTER USER 'root'@'localhost' IDENTIFIED BY 'yourpassword';

February 26, 2024

In my case the same error happen because I was trying to use mysql by just typing "mysql" instead of "mysql -u root -p"

February 26, 2024

for cpanel users: i had this problem and solved it by changing my password in cpanel -> password & security check the "Synchronize MySQL password" check box while changing your password

February 26, 2024

I had this issue and something dummy ended up solving. For some reason "locahost" was not resolving for anything, so using its local IP made it work. So you would change mysql -h localhost -P 33061 to: mysql -h 127.0.0.1 -P 33061

February 26, 2024

Try this: If you have already created your user, you might have created your user with the wrong password. So drop that user and create another user by doing this. To see your current users. SELECT Host,User FROM mysql.user; To drop the user DROP User '<your-username>'@'localhost'; After this you can create the user again with the correct password CREATE USER '<your-username>'@'localhost' IDENTIFIED WITH mysql_native_password BY '<correct password>'; then FLUSH PRIVILEGES; You might still run into some more errors with getting access to the database, if you have that error run this. GRANT ALL PRIVILEGES ON *.* to '<your-username>'@'localhost';

February 26, 2024

For annoying searching getting here after searching for this error message: Access denied for user 'someuser@somewhere' (using password: YES) The issue for me was not enclosing the password in quotes. eg. I needed to use -p'password' instead of -ppassword

February 26, 2024

Make sure the user has a localhost entry in the users table. That was the problem I was having. EX: CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

February 26, 2024

According way you create your user, MySQL interprets a different manner. For instance, if you create a user like this: create user user01 identified by 'test01'; MySQL expects you give some privilege using grant all on <your_db>.* to user01; Don't forget to flush privileges; But, if you create user like that (by passing an IP address), you have to change it to: create user 'user02'@'localhost' identified by 'teste02'; so, to give some privileges you have to do that: grant all on <your_db>.* to user02@localhost; flush privileges;

February 26, 2024

I also have the similar problem, and later on I found it is because I changed my hostname (not localhost). Therefore I get it resolved by specifying the --host=127.0.0.1 mysql -p mydatabase --host=127.0.0.1

February 26, 2024

For anyone else who did all the advice but the problem still persists. Check for stored procedure and view DEFINERS. Those definers may no longer exists. My problem showed up when we changed the wildcard host (%) to IP specific, making the database more secure. Unfortunately there are some views that are still using 'user'@'%' even though 'user'@'172....' is technically correct.

February 26, 2024

First I created the user using : CREATE user user@localhost IDENTIFIED BY 'password_txt'; After Googling and seeing this, I updated user's password using : SET PASSWORD FOR 'user'@'localhost' = PASSWORD('password_txt'); and I could connect afterward.

February 26, 2024

It looks like you're trying to make a user 'golden'@'%' but a different user by the name of 'golden'@'localhost' is getting in the way/has precedence. Do this command to see the users: SELECT user,host FROM mysql.user; You should see two entries: 1) user= golden, host=% 2) user= golden, host=localhost Do these Command: DROP User 'golden'@'localhost'; DROP User 'golden'@'%'; Restart MySQL Workbench. Then do your original commands again: CREATE USER 'golden'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'golden'@'%'; Then when you go to try to sign in to MySQL, type it in like this: Hit 'Test Connection' and enter your password 'password'.

February 26, 2024

Try: CREATE USER 'golden'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON * . * TO 'golden'@'localhost'; FLUSH PRIVILEGES; Or even better use: mysql_setpermission to create the user

February 26, 2024

If you are connecting to the MySQL using remote machine(Example workbench) etc., use following steps to eliminate this error on OS where MySQL is installed mysql -u root -p CREATE USER '<<username>>'@'%%' IDENTIFIED BY '<<password>>'; GRANT ALL PRIVILEGES ON * . * TO '<<username>>'@'%%'; FLUSH PRIVILEGES; Try logging into the MYSQL instance. This worked for me to eliminate this error.

February 26, 2024

Do not grant all privileges over all databases to a non-root user, it is not safe (and you already have "root" with that role) GRANT <privileges> ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password'; This statement creates a new user and grants selected privileges to it. I.E.: GRANT INSERT, SELECT, DELETE, UPDATE ON database.* TO 'user'@'localhost' IDENTIFIED BY 'password'; Take a look at the docs to see all privileges detailed EDIT: you can look for more info with this query (log in as "root"): select Host, User from mysql.user; To see what happened

February 26, 2024

TurboCommerce make the better internet purchasing globaly

Turbo Multi-language Translator

Make the better internet purchasing globaly

Turbosify SEO Speed Booster

5.0 (7) Free plan available
Get better conversions by improving store loading speed Installed

Turbo Multi-language Chat - AI Customer service in one hand

TurboCommerce make the better internet purchasing globaly
Our products

The help you need, when you need it

App by Turbo Engine

3 apps • 5.0 average rating

Turbosify Speed Booster

5.0 (7)
Get better conversions by optimizing shopify store Google page speed Installed

Turbosify Translator for Wordpress Woocommerce

5.0 (74) Free Wordpress Woocommerce Plugin
Translate your wordpress website to multiple language within 1 click, no configuration needed, no No technical required

Grow your business here

Whether you want to sell products down the street or around the world, we have all the tools you need.