Mysql下载后出现Access denied for user ‘root‘@‘localhost(综合最新版)

这篇博客介绍了当遇到MySQL root用户登录时出现'Access denied for user 'root'@'localhost''错误的解决方案。步骤包括编辑配置文件添加'skip-grant-tables',重启MySQL服务,无密码登录后修改root密码,然后删除配置文件中的'skip-grant-tables'并再次重启服务。这是一个针对MySQL权限问题的故障排查和修复指南。
摘要由CSDN通过智能技术生成

下载安装完mysql,并尝试登录,出现如下问题 :

gaokaoli@kkjz-ThinkStation-P330:/etc/init.d$ mysql -u root -p
Enter password: 
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

 1.首先,这个问题是什么?

        这个问题是root账户被拒绝登录mysql

2.其次,为什么会出现?

        一般出现这种情况多数是安装新版本mysql,root密码是随机的,也不是空密码,输入了错误密码,自然无法访问mysql。所以要通过查看随机密码进入,再进行修改原来的密码并保存。

3.最后,怎么解决这个问题?

        (1)在ubuntu的terminal(也即终端)上输入sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,进入到这个配置文件,然后在这个配置文件中的[mysqld]这一块中加入skip-grant-tables这句话。

sdw@sdwcomputer:~$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

        

养成每次修改配置文件就要重启服务的习惯,终端输入systemctl restart mysql

sdw@sdwcomputer:~$ service mysql restart

        (2)在终端上输入mysql -u root -p,遇见输入密码的提示直接回车即可,进入mysql

        (3)开始修改密码。先输入show databases; 查看所有数据库

        选定数据库mysql。输入use mysql;

        开始修改root用户的密码格式,改为明文

update user set plugin='mysql_native_password' where user='root';

刷新一下,多刷新几次,稳一点。

flush privileges;

         开始修改密码。

alter user 'root'@'localhost' identified by '这里输入你自己的密码';

         修改完成,刷新。多刷几次,稳一点。

flush privileges;

         (4)回去修改配置文件,把忽略登陆密码的句子删掉。sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

        (5)每次修改完配置文件后,别忘了重启,输入systemctl restart mysql

sdw@sdwcomputer:~$ service mysql restart

        登录

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值