Ubuntu16.04 修改登录mysql的密码或者报 ERROR 1698 (28000): Access denied for user 'root'@'localhost' 错误的解决流程

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容