mysql密码忘记该怎么办?

环境:linux;mysql5.7

mysql密码忘记:

[root@izwz9f40l0qo5cpnn8qwmpz ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

查看当前版本:

# rpm -qa |grep mysql
mysql57-community-release-el7-7.noarch
mysql-community-client-5.7.20-1.el7.x86_64
mysql-community-libs-5.7.20-1.el7.x86_64
mysql-community-common-5.7.20-1.el7.x86_64
mysql-community-server-5.7.20-1.el7.x86_64

停止mysql服务:

# service mysql stop
Shutting down MySQL.. SUCCESS!

使用 mysqld_safe --skip-grant-tables: (启动时不启动grant-tables,授权表)

# mysqld_safe --skip-grant-tables
171114 13:45:27 mysqld_safe Logging to '/usr/local/mysql/var/izwz9f40l0qo5cpnn8qwmpz.err'.
171114 13:45:27 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/var

然后就可以不用密码来登录mysql了:

# mysql
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.6.36-log Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

重置mysql密码:

mysql>update user set password=password("123456789")where user="root"

刷新权限:

mysql>flush privileges;

密码修改完成!

原文地址:https://www.cnblogs.com/freely/p/7832253.html