本教程只适合Mysql账号遇到的问题

场景一:创建账号后 原账户丢失

第一步:设置允许无密码登录,重启mysql
1
2
hadoop@ycm:~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
hadoop@ycm:~$service mysql restart

在[mysqld]中添加skip-grant-tables

第二步:进入mysql交互模式
1
mysql -u root -p

然后直接回车就行

第三步:
1
mysql> use mysql;``mysql>flush ``privileges``;``mysql>``UPDATE` `user` `SET` `authentication_string=``""` `WHERE` `user``=``"root"``;//先把root密码置为空``mysql>flush ``privileges``;``mysql>``ALTER` `user` `'root'``@``'localhost'` `IDENTIFIED ``BY` `'Ycm@123nihao'``;//再重置密码

注意:密码格式必须符合要求,不然会报错的。mysql8貌似是要求必须包括大小写,数字和特殊字符。

第四步:quit退出mysql交互模式,去掉之前加的skip-grant-tables,再重启mysql
第五步:这回mysql -u root -p输入设置的正确密码就能进入mysql了

参考文章:[永远的小幸运]