use*_*572 77 mysql command-line putty
我正在尝试使用命令行更新数据库用户的密码,但这对我不起作用.这是我正在使用的代码:
mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';
Run Code Online (Sandbox Code Playgroud)
有人能告诉我这段代码有什么问题.
hel*_*boy 107
在您的代码中,尝试在单引号内包含密码.或者,根据mysql 的文档,以下应该工作 -
SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)
最后一行很重要,否则您的密码更改将无法生效.
编辑:
我在当地进行了一次测试,它起作用了 -
mysql> set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
我是版本5.您可以使用以下命令来确定您的版本 -
SHOW VARIABLES LIKE "%version%";
Run Code Online (Sandbox Code Playgroud)
Gov*_*Rai 32
ALTER USER例:
ALTER USER 'username' IDENTIFIED BY 'password';
Run Code Online (Sandbox Code Playgroud)
因为:
SET PASSWORD ... = PASSWORD('auth_string') 从MySQL 5.7.6开始不推荐使用语法,并且将在以后的MySQL版本中删除.
SET PASSWORD ... = 'auth_string'语法不被弃用,但ALTER USER现在是分配密码的首选语句.
小智 14
注意:您应该以root用户身份登录
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');
Run Code Online (Sandbox Code Playgroud)
这是 WAMP v3.0.6 的更新答案
UPDATE mysql.user
SET authentication_string=PASSWORD('MyNewPass')
WHERE user='root';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)