今天装完mysql发现没有root密码,于是想要修改一下root密码,通过网上的搜索找到了大致的几种方法:

  • 通过mysqladmin修改密码
    mysqladmin -u root -p password "newpassword"

  • 修改mysql数据库的user表
    UPDATE mysql.user set authentication_string = PASSWORD ("newpassword) WHERE User = "root" and Host="localhost";

  • 通过SET语句修改密码
    SET PASSWORD = PASSWORD ("rootpwd");
    通过尝试第一种方法执行后会有警告,但是没有报错,然而却没有看到效果(root还是没有密码)
    第二三种直接就报错了
    通过查阅资料了解到mysql8取消了PASSWORD()函数
    故应使用如下方式修改root密码:
    UPDATE user SET authentication_string="" WHERE user="root";

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newPassword';
    flush privileges刷新权限表,使密码生效

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐