一、使用跳过密码
./mysqld_safe --skip-grant-tables &
二、登录
mysql -uroot
三、mysql8没有password()函数,所以下面的方式修改会报错
mysql: UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

四、正确的修改密码方法:
mysql: ALTER user 'root'@'localhost' IDENTIFIED BY 'Abc@123';
flush privileges;
五、连接方式修改(由于navicat版本的问题造成连接失败。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password)
alter user 'root'@'localhost' identified with mysql_native_password by "123456";
flush privileges;
这篇博客介绍了如何在MySQL8中跳过权限表启动服务,然后通过命令行修改root用户的密码。由于MySQL8更改了默认的身份验证插件,导致Navicat等客户端无法连接,因此提供了修改身份验证方式的命令,确保能使用旧的`mysql_native_password`插件进行连接。同时,教程还强调了正确更新权限并刷新权限表的步骤。

1730

被折叠的 条评论
为什么被折叠?



