Method: 1. Use "set password for username@localhost = password('new password')" to modify; 2. Use "mysqladmin -u username -p password new password" to modify; 3. Use UPDATE edits the user table and other methods to modify.
The operating environment of this tutorial: windows10 system, mysql5.7 version, Dell G3 computer.
mysql5.7 version:
Method 1: Use the SET PASSWORD command
format :
mysql> set password for 用户名@localhost = password('新密码');
Example:
mysql> set password for root@localhost = password('123');
Mysql5.7 and mysql8.0 or above can be used
Method 2: Use mysqladmin
Format:
mysqladmin -u用户名 -p password 新密码
Example:
mysqladmin -uroot -p password 123
mysql5.7 version
Method 3: Use UPDATE to directly edit the user table
mysql> use mysql; mysql> update user set password=password('123') where user='root' and host='localhost'; mysql> flush privileges;
mysql 5.7 and mysql8.0 and above
Method 4: Use alter. There is a pitfall in using this. Many blogs say that you can use the following method to modify it, but it has been unsuccessful:
alter user 'root'@'localhost' IDENTIFIED BY 'liuhehe';
Error report:
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'
Later, I went to the user table to view the record of user='root' and found that the value of the host column was '%'. Modify the above sql to
mysql> alter user 'root'@'%' IDENTIFIED BY 'liuhehe'; Query OK, 0 rows affected (0.03 sec)
execution succeed! !
The following method is only used for mysql5.7 version
Method 4: When you forget the root password
Take windows as an example:
1. Close the running MySQL service.
2. Open the DOS window and go to the mysql\bin directory.
3. Enter mysqld --skip-grant-tables and press Enter. --skip-grant-tables means to skip the permission table authentication when starting the MySQL service.
4. Open another DOS window (because the DOS window just now cannot be moved) and go to the mysql\bin directory.
5. Enter mysql and press Enter. If successful, the MySQL prompt > will appear.
6. Connect to the authority database: use mysql;.
6. Change password: update user set password=password("123") where user="root"; (don't forget to add the semicolon at the end).
7. Refresh privileges (required step): flush privileges;.
8. Quit.
9. Log out of the system, re-enter, and log in using the username root and the new password 123 you just set.
Note: There is no password field in the mysql database under version 5.7. The password field has been changed to authentication_string.
Recommended learning: mysql video tutorial
The above is the detailed content of How to change root password in mysql5.7. For more information, please follow other related articles on the PHP Chinese website!