ERROR 1045 (28000): Access denied for user ' admin ' @ ' localhost ' (using Password:yes)
Solutions
Error description: After adding a user in MySQL, you may be prompted with error 1045 (28000): Access denied for user errors. Delete the value NULL in User.user, or update null to test 1) Delete from User where user is null 2) update the user set user= ' test ' where user is null. Unexpected situation: if
Error description: After adding a user in MySQL, you may be prompted with error 1045 (28000): Access denied for user errors. Delete the value NULL in User.user, or update null to test 1) Delete from User where user is null 2) update the user set user= ' test ' where user is NULL. Unexpected situation: If the above method is not effective, there will still be empty users, you can take advantage of the graphical user client delete.
After reloading the CentOS, I found that MySQL has been a bad use.
# mysqladmin Create dbname command always returns mysqladmin:connect to server at ' localhost ' failed
# mysql-u [email protected]
>create database dbname;
Also returns error 1045 (28000): Access denied for user ' root ' @ ' localhost ' (using Password:no)
# mysql-u Root-p
Enter Password:
ERROR 1045 (28000): Access denied for user ' root ' @ ' localhost ' (using Password:no)
Use the Web-based method to modify the root user's password:
# mysqladmin-uroot-p password ' newpassword '
Enter Password:
Mysqladmin:connect to server at ' localhost ' failed
Error: ' Access denied for user ' root ' @ ' localhost ' (using Password:yes) '
Now I finally found the solution, as follows (please test method Three first, thank you!) ):
Method One:
#/etc/init.d/mysql Stop (start MySQL)
# Mysqld_safe--user=mysql--skip-grant-tables--skip-networking &
# mysql-u Root MySQL
mysql> UPDATE user SET Password=password (' NewPassword ') where user= ' root ';
mysql> FLUSH privileges;
Mysql> quit
#/etc/init.d/mysql Restart
# mysql-uroot-p
Enter Password: < Enter the newly set password newpassword>
Mysql>
Method Two:
Use the user name and password provided directly in the [client] section of the/etc/mysql/debian.cnf file:
# mysql-udebian-sys-maint-p
Enter Password: < Enter the password for the [client] section >
mysql> UPDATE user SET Password=password (' NewPassword ') where user= ' root ';
mysql> FLUSH privileges;
Mysql> quit
# mysql-uroot-p
Enter Password: < Enter the newly set password newpassword>
Mysql>
Method Three:
This method I have not been tested, because my root user default password has been modified by me, I have time to test, to tell you the results, thank you!
# mysql-uroot-p
Enter Password: < Enter the password provided in the [Client] section of the/etc/mysql/debian.cnf file >
At this point, the problem solved a long puzzle!
ERROR 1045 (28000): Access denied for user ' admin ' @ ' localhost ' (using Password:yes)