最近也不知道是懒了还是老了,几天没碰数据库竟然把密码忘了,这就好比吃饭的家伙锁在箱子里,那还怎么吃饭?所以我得把mysql密码相关的都整理一下,免得还得招人开锁,那实在是太尴尬了。
实验目的:忘记用户密码,修改用户密码
在安装mysql的时候有一个跳过密码的步骤,先试一试行不行
vim /etc/my.cnf
在[mysqld]下面加上一句
skip-grant-tables
重启mysql服务
systemctl restart mysqld.service
通过无密码方式登录mysql服务
mysql –uroot –p
不加-p也行,加了-p会出现让你输入密码的步骤,直接回车就进去了。不加-p则直接进入mysql
现在修改密码,出现了错误
alter user [email protected] identified by ‘123456‘;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
刷新一下
flush privileges;
再试一次,主要原因是skip-grant-tables使得数据库只能是只读的权限
好了
现在退出数据库,并删除刚才添加的skip-grant-tables
重启mysql
systemctl restart mysqld.service
现在就可以通过密码登录了