Copy codeThe Code is as follows: Error Code 1045
Access denied for user 'root' @ 'localhost' (using password: YES)
The solution is to reset the root user password. The procedure is as follows on Windows:
1. log on to the system as a system administrator;
2. If the MySQL server is running, stop it.
If the server runs as a Windows Service, go to Service Manager: Start Menu-> Control Panel-> Administrative Tools-> services
If the server is not running as a service, you may need to use the task manager to force it to stop.
3. Create a text file and place the following commands in a single line:
Copy codeThe Code is as follows: set password for 'root' @ 'localhost' = PASSWORD ('mynewpassword ');
Save the file with any name. In this example, the file is C: \ mysql-init.txt.
4. Enter the doscommand prompt: Start Menu-> Run-> cmd
Assume that you have installed MySQL to C: \ mysql. If you install MySQL in another location, adjust the following commands.
Run the following command at the doscommand prompt:
Copy codeThe Code is as follows: C: \> C: \ mysql \ bin \ mysqld-nt -- init-file = C: \ mysql-init.txt
When the server is started, run the "-- init-file" option (function: Read SQL commands from the specified file at startup) to change the root user password. When the server is successfully started, delete the C: \ mysql-init.txt.
5. Stop the MySQL server and restart it in normal mode. If you run the server as a service, you should start it from the Windows service window. If the server is started manually, the command can be used as usual.
Other methods attached:
Method 1:
Copy codeThe Code is as follows:
#/Etc/init. d/mysql stop
# 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 new password newpassword>
Mysql>
Method 2:
Directly use the username and password provided in the [client] section of the/etc/mysql/debian. cnf file:
Copy codeThe Code is as follows:
# Mysql-udebian-sys-maint-p
Enter password: <Enter the password in 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 new password newpassword>
Mysql>
Another method
Windows:
1. log on to the system as an administrator, stop the mysql service, or end the mysqld-nt process.
2. Enter the command line and go to the mysql installation directory. Assume that the installation directory is d: \ mysql \, and CMD enter the command line.
3. Run d: \ mysql \ bin \ mysqld-nt -- skip-grant-tables to start mysql and disable permission check.
4. Run d: \ mysql \ bin \ mysqladmin-u root flush-privileges password "newpassword" to reset the root password.
5. Restart the mysql service.