First verify that the server is in a secure state, that is, no one can connect to the MySQL database arbitrarily.
Because the MySQL database is completely out of password-protected state during the reset of the root password of MySQL, other users can log in and modify the MySQL information arbitrarily. It is possible to implement the server's quasi-security state by enclosing MySQL's external ports and stopping Apache and all user processes.
To modify the login settings for MySQL:
Add a sentence to the paragraph in [mysqld]: Skip-grant-tables
Vim/etc/my.cnf
Join Skip-grant-tables
Restart Mysqld
Systemctl Stop Mysqld
Systemctl Start mysqld
Log in to MySQL (direct enter, no password required)
mysql> use MySQL;
mysql> Update user Set Password=password ("test") where user= ' root ';
mysql> flush Privileges;
Exit
Restart Mysqld again
Systemctl Stop Mysqld
Systemctl Start mysqld
Log in with a new password, log in normally
CentOS 7.2 mysql root password forgotten when reset method