Ubuntu下MySQL出现 ----> ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘

这篇博客介绍了当忘记MySQL根用户密码或安装时未设置密码的情况下的解决办法。通过编辑mysql.conf.d/mysqld.cnf文件,启用skip-grant-tables选项实现无密码登录,然后在MySQL交互式环境中更新用户密码。步骤包括添加配置、重启服务、使用新密码登录并移除临时设置,确保数据安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

出现的原因就是你忘记了密码,或者是在安装的时候没有仔细看,直接ok了
解决办法:

  1. 暴力无密码直接连接法
在Ubuntu的终端下(找不到终端搜索terminal)上输入 
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

进入到一个可以编辑的文件中,vim操作,懂的直接跳过(首先按i,进入编辑模式,找到[mysqld],在这个模块的最后一行加入skip-grant-tables。)
如下图所示:在这里插入图片描述
之后就是按一下ESC,再按wq保存退出就可以了
tip:增加这行代码的意思就是让你可以无密码登录MySQL
重启MySQL,在终端输入:service mysql restart。
然后再在终端输入:mysql -u root -p (让你输密码直接回车就可以,直接进入MySQL)

  1. 想要使用密码(为了数据安全)
    上一步进入了MySQL,依次输入如下代码
use mysql;   												# 按回车
update user set authentication_string=password("重新设置的MySQL密码") where user="root";     # 按回车
3 flush privileges;   										# 按回车

然后再输入quit,退出MySQL
重新进入之前的文件,在终端输入:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把之前的代码注释掉 --> # skip-grant-tables
保存并且退出去
再在终端上重新启动MySQL:mysql -u root -p
现在再输入刚才设置的密码,就可以进入了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值