今天装完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刷新权限表,使密码生效
本文介绍在 MySQL 8 中如何正确地为 root 用户设置新的密码。由于 MySQL 8 对密码管理进行了更改,传统的 PASSWORD 函数已不再适用。文章提供了具体的 SQL 语句来更新用户表中的认证字符串,并通过 ALTER USER 语句完成密码设置。
736

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



