2019年12月6日更新。 操作的是阿里云轻量应用服务器的ubuntu16.04系统,数据库版本5.7.28
步骤一:终端执行mysql -u root p123456,报如下错误。确实是忘记密码了,报错是应该的。

image.png
步骤二:执行sudo vim /etc/mysql/debian.cnf命令,复制密码egZSaEJvOEU5HI5a ,然后退出

image.png
步骤三:mysql -udebian-sys-maint -pegZSaEJvOEU5HI5a -p后面紧跟密码,当然你也可以写成mysql -udebian-sys-maint -p,然后回车后,输入暗文egZSaEJvOEU5HI5a

image.png
步骤四:查看数据库版本
select version();

image.png
步骤五:输入use mysql;使用名为mysql的数据库

image.png
步骤六:输入select user, plugin from mysql.user;,然后查看user为root对应的plugin的值

image.png
步骤七:更新用户名为root的密码为666666。
update user set authentication_string =password('666666') where user='root';
注意:如果步骤五中root对应的plugin的值不是mysql_native_password,那么步骤六的命令需改为update user set authentication_string =password('666666'),plugin='mysql_native_password' where user='root';

image.png
步骤八:刷新,使之生效
FLUSH PRIVILEGES;

image.png
步骤九:退出
quit;

image.png
步骤十:关闭mysql服务,然后开启mysql服务。注意不要用restart,会有莫名其妙的新密码也无法识别正确的问题
sudo service mysql stop
sudo service mysql start

image.png
步骤十一:以后root用户,密码为666666登录mysql
mysql -u root -p666666

image.png
步骤一到步骤十一的全部命令

image.png
2019年2月份
【经典解决办法】https://www.cnblogs.com/py1612919884/p/9327015.html
https://blog.csdn.net/wangliyao518/article/details/83011522
测试【成功】
mysql -udebian-sys-maint -p
use mysql;
select user, plugin from mysql.user;
update user set authentication_string =password('NewCoderZB'),plugin='mysql_native_password' where user='root';
select user, plugin from mysql.user;
exit
sudo service mysql restart
mysql -uroot -pNewCoderZB

image.png
进入mysql,命令行的方式一:
mysql -uroot -pCoderZB

image.png
进入mysql,命令行的方式二:
先敲mysql -uroot -p回车,然后输入密码(密文)即可。

image.png