This article mainly introduces the reset method of Mysql forgetting the root password under Windows. It is very good and has reference value. Friends in need can refer to it
My machine environment:
Windows 2008 R2
MySQL 5.6
Using "Forgot Mysql root password under Window" Baidu, I found a lot of solutions. Most of them are similar with minor differences. The more classic one is [1] on Baidu Library, which is rich in pictures and text, and the organization is relatively clear. Follow the instructions described in this article immediately.
The specific operations are as follows:
If the MySQL environment variable is added in the following steps, you can directly run the mysql related commands. Otherwise, you must go to the bin directory of the mysql installation directory to operate.
The steps are as follows:
1. Stop the mysql service (run as administrator under the cmd command line) net stop mysql
2. Use the mysqld –skip-grant-tables command to start the mysql database
D:\>net stop mysql The MySQL service is stopping. The MySQL service has been stopped successfully.
D:\>mysqld --skip-grant-tables
3. Without closing the above window, open a new cmd window and enter mysql - u root, just press the Enter key
D:\>mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.26-rc-community MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> update mysql.user set password=password('aaa') where user='root';
You can write the password by yourself.
Query OK, 1 row affected (0.02 sec) Rows matched: 2 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql>
4. Open the task manager, stop the mysql and mysqld processes, use net start mysql to start the mysqld service, and then you can use the root user root password to enter the database
mysql -u root -p aaa
Additional instructions:
1. Mysqld usage instructions can be obtained and viewed using the following command:
mysqld --verbose --help > d:\mysqld_help.txt
The help for –skip-grant-tables in the help is:
--skip-grant-tables Start without grant tables. This gives all users FULL ACCESS to all tables!
So we can use mysql -uroot directly without a password Log in to mysql and can modify any table.
In my practice, I use mysqld --skip-grant-tables to start mysql, mysql -u root -p and I can log in with an empty password. If I change the password, it will prompt success. However, when I start mysql normally, use new Password still cannot log in. I thought that since I couldn't find the answer on the Chinese website, I would try to find the answer on a foreign website. So I searched for mysql 5.6 forget root password as the keyword, and found the answer in a document "B.5.3.2 How to Reset the Root Password" [2] on mysql.com.
The specific steps are as follows:
(1) Stop mysql
If running as a service, stop the mysql service in the service management tool. Or run the following command on the console.
net stop mysql56
If it is not running as a service, terminate the mysqld process in the task manager.
(2) Create a text file and write the following content. MyNewPass is the new password
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
(3) Save as c:\init.txt
(4) Execute the following command in the console window
mysqld --init-file=C:\\init.ini
Note:
1) If the MySQL environment variable is added, you can directly run the mysql related commands, otherwise you must go to the bin directory of the mysql installation directory to operate
2) If you installed Mysql using the Mysql installation wizard, you need to add the --defaults-file parameter. The command is as follows:
mysqld --defaults-file="C: \ProgramData\MySQL\MySQL Server 5.6\my.ini" --init-file=C:\\init.ini
--defaults-file parameter can be obtained from service management: Start>Control Panel>Administrative Tools>Services, find the MySql service, right-click, select the Properties tab, and the "Execution Path" contains the --defaults-file parameter.
(5) After the system starts successfully, close Mysql and delete the init.ini file.
The above is the detailed graphic and text introduction on how to reset the forgotten root password of Mysql under Windows. For more related content, please pay attention to the PHP Chinese website (www.php.cn)!