安装mysql时,密码过期了或者忘记密码等情况,下图是提示密码过期的情况:
1.设置不校验权限
此时我们可以找到my.cnf文件,在[mysdqld]下面添加skip-grant-tables设置跳过权限认证,
vim /etc/my.cnf
设置成功后,重启mysql:
sudo service mysqld restart
2.登录修改密码
- 登录mysql,在终端中输入,
mysql -uroot -p
上图红框处不用输入密码直接enter即可。
- 查询当前用户信息
首先差选当前的用户和地址执行如下sql语句
select User,host from mysql.User
- 修改用户密码
update mysql.user set authentication_string=PASSWORD('123456') where User='root' and host='localhost';
注意低版本的mysql保存密码字段可能为password,当提示找不到字段是,执行如下语句进行修改密码:
update mysql.user set password=PASSWORD('123456') where User='root' and host='localhost';
- 修改过期标识
update mysql.user set password_expired='N' where User='root';
//!设置即时生效
flush privileges;
退出mysql,将my.cnf文件中增加的配置项删除,重启mysql,就可以用你修改的密码登录了。