在对MySQL的应用中,难免会有忘记登陆密码的情况;接下来,将简单介绍下MySQL忘记密码如何登陆和重置密码的操作过程。
首先来说下新版MySQL(5.7+)的重置密码过程:
由于忘记登陆密码,所以正常情况下是无法登陆到MySQL进行相关操作的。
此时可以在Mysql的配置文件/etc/my.cnf中添加一个参数,如图:
然后重启mysqld即可。
此时可以直接登陆:
用户账号和密码记录在mysql.user表中,此时可以执行修改密码操作了:
mysql> update mysql.user set authentication_string = password('root'),password_expired = 'N',password_last_changed = now() where user = 'root'; mysql> flush privileges;
注意:在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string
退出MySQL,将配置文件的中的skip_grant_tables此项注释或者删除,重启mysqld服务即可。
另外,MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在 /var/log/mysqld.log 中有记录,可以通过 cat 命令查看,找 password 关键字。找到密码后,在本机以初始密码登录,并且(也只能)通过 alter user 'root'@'localhost' identified by 'root' 命令,修改 root 用户的密码为 root(此操作是为了开放后续操作的权限,必须执行),然后退出,重新以root用户和刚设置的密码进行登录即可