Home  >  Article  >  Database  >  Detailed graphic and text introduction on how to reset the Mysql root password if you forget it under Windows

Detailed graphic and text introduction on how to reset the Mysql root password if you forget it under Windows

黄舟
黄舟Original
2017-03-06 13:52:501536browse

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)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn