按照你上面的步骤执行UPDATE mysql.user SET Password=PASSWORD('新密码') WHERE User='root';后出现Unknown column 'Password' in 'field list'
时间: 2023-08-08 17:04:27 浏览: 42
在MySQL 8.0版本中,`Password`这个字段已经被删除,取而代之的是`authentication_string`字段。所以你需要使用以下语句来更新密码:
```
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
```
注意:在MySQL 8.0版本中,密码加密算法也发生了变化,所以需要使用`PASSWORD()`函数来加密新密码。
相关问题
对于默认安装的MySQL数据库,执行()命令可以将数据库用户root的密码设置为123456。 (选择二项) A:GRANT ALL ON *.*TO root@'localhost' IDENTIFIED BY '123456";B:UPDATE mysql.user SET password='123456'WHERE user='root'; c:UPDATE mysql.user SET password=PASSWORD(123456') WHERE user='root';D:MYSQLADMIN -u root -p pwd '123456';
B: UPDATE mysql.user SET password='123456' WHERE user='rootC: UPDATE mysql.user SET password=PASSWORD(123') WHERE user='root';
这两个选项可以将数据库用户root的密码设置为123456
修改密码update user set password=password("") where user="root"; 报错Unknown column 'User' in 'where clause'
根据你提供的信息,报错信息指出在WHERE子句中找不到名为'User'的列。这可能是由于列名拼写错误或者表中确实不存在该列导致的。
请确保你的表结构中存在名为'User'的列。如果列名是正确的,你可以尝试使用反引号(`)将列名括起来,以防止与MySQL关键字冲突。
修改密码的更新语句应该类似于:
```
UPDATE `user` SET `password` = PASSWORD('new_password') WHERE `username` = 'root';
```
请替换`user`和`password`为实际的表名和列名,并将'new_password'替换为你想要设置的新密码。同时,确保在WHERE子句中使用正确的列来匹配用户。