MySQL8.0修改root密码

在Linux环境下,新安装的MySQL8.0在使用root用户远程访问时需要密码。本文提供了详细步骤来解决这个问题:通过编辑mysqld.cnf添加skip-grant-tables,重启MySQL,然后在无权限检查的情况下更新root用户的authentication_string为空,将认证插件改为mysql_native_password,再设置新密码并重启服务。这些步骤适用于无法用常规方法修改MySQL8.0 root密码的情况。

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

一、问题:

当你在Linux上刚下好MySQL的时候,使用mysql -uroot -p登录时无需密码,你输不输密码或者随便输入密码都是可以登录的,但是如果你想要使用root用户远程访问MySQL8.0,是必须提供密码的,虽然这种应用场景并不常见。

市场上使用广泛的MySQL5.7版本修改root密码的方式详见:MySQL修改root密码 (biancheng.net)

但是上述的针对5.7版本提供的三种方法都不能修改8.0版本下的root密码。

二、现有如下方法可以解决此问题:

# 在配置文件mysqld.cnf下添加 skip-grant-tables
vim /etc/mysql/mysql.conf.d/mysqld.cnf



# 重启MySQL服务
sudo service mysql restart



# 登录MySQL
mysql -u root -p



# 选择管理user表的数据库
use mysql;



# 将authentication_string 置空
update user set authentication_string='' where user='root';



# 将plugin改为以前版本的密码认证方式
update user set plugin='mysql_native_password' where user='root';



# 刷新
FLUSH PRIVILEGES;



# 修改密码
alter user 'root'@'localhost' identified by 'newpassword';



# 重启MySQL
service mysql restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值