密码忘记的处理流程
1、停止mysql服务程序
2、跳过授权表启动mysql服务程序skip-grant-tables,写入/etc/my.cnf
3、重设root密码(更新user表记录)
4、已正常方式重启mysql服务程序
密码恢复
1、修改配置文件
vim /etc/mycnf
[mysqld]
skip-grant-tables
2、重起服务
systemctl restart mysqld
3、查看密码认证字段
select host,user,authentication_string from mysql.user;
+--------------+-----------+-------------------------------------------+
| host | user | authentication_string |
+--------------+-----------+-------------------------------------------+
| localhost | root | *6691484EA6B50DDDE1926A220DA01FA9E575C18A |
| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| % | mydba | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost | admin | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 192.168.4.51 | yaya | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| % | mydba2 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+--------------+-----------+-------------------------------------------+
4、设置新的密码
update mysql.user set authentication_string=password("密码") where user="root" and host="localhost";
filush privileges; //刷新授权表
以下为一些常用的密码修改方法:
密码修改(需要知道当前密码)
mysqladmin -hlocalhost -uroot -p password “abc123”
输入旧密码
管理员root修改授权用户的密码:
set password for 用户名@“客户端地址”=password(“密码”);
授权用户登陆后修改登陆密码:
set password=password(“密码”);
授权用户登陆后修改登陆密码:
set password=password(“密码”);
修改数据库密码:
alter user root@“localhost” identified by “新密码”;