Solution to MySql error code 1045 in Windows
The 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:
The 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
Suppose you have installed MySQL in C:/mysql. If you install MySQL in another location, adjust the following commands.
Run the following command at the doscommand prompt:
The 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. C:/mysql-init.txt should be deleted when the server is successfully started.
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:
The 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: <输入新设的密码newpassword>
Mysql>
Method 2:
Directly use the username and password provided in the [client] section of the/etc/mysql/debian. cnf file:
The code is as follows:
# Mysql-udebian-sys-maint-p
Enter password: <输入[client]节的密码>
Mysql> UPDATE user SET Password = PASSWORD ('newpassword') where USER = 'root ';
Mysql> flush privileges;
Mysql> quit
# Mysql-uroot-p
Enter 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. go to the command line and go to the mysql installation directory. assume that the installation directory is d:/mysql/. run CMD to 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.