考虑以下代码:
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');