从 mysql CLI 完成时更改 root mysql 密码失败

从 mysql CLI 完成时更改 root mysql 密码失败

考虑以下代码:

UPDATE user set password=PASSWORD('NEWPASSWORD_CAME_HERE') WHERE User='root';

在写的地方NEWPASSWORD_CAME_HERE我已经输入了我的密码(在引号之间)。

然而,当我执行此查询时,我收到此错误:

错误 1046 (3D000):未选择数据库

为什么我会收到此错误?我遵循了不同的指南,这是我见过的最传统的方法,所以我无法理解为什么它失败了。

答案1

首先,您必须在 UPDATE 语句中指定数据库,而不仅仅是表:

UPDATE mysql.user ...

否则 MySQL 无法知道您正在操作哪个数据库(因此会出现错误)。

然而,这不是在 MySQL 中更改用户密码的正确方法。不建议摆弄mysql数据库(包含数据库元数据)。改为这样做:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NEWPASSWORD_CAME_HERE'); 

答案2

解决你的错误: use mysql

但你应该看看mysql参考手册:

ALTER USER user IDENTIFIED BY 'auth_string';

设置密码语法

相关内容