如何在MySQL中为用户设置密码

时间:2011-03-10 18:49:40

标签: mysql drupal mysql-management

我需要为用户提供密码,因为Drupal的安装会询问。我是创建数据库的新手,所以我尝试了这个:

CREATE DATABASE 'drupaltest';
CREATE USER 'jaakko'@'localhost' IDENTIFIED BY 'password';

但PHPMyAdmin说

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`password`' 

有人可以说我应该用什么查询来为用户提供Drupal安装所需的密码以及新用户应该获得的资助?

2 个答案:

答案 0 :(得分:0)

我认为你应该有所作为。我能想到的唯一的事情可能是你的引号类型错误,或者你将密码设置为'密码'可能会有问题。也许尝试将其设置为其他东西。如果这不起作用,可以尝试创建用户,然后在单独的语句中设置密码并查看它是否/在哪里跳闸。 E.g。

CREATE USER 'jaakko'@'localhost';
SET PASSWORD FOR 'jaakko'@'localhost' = PASSWORD('newpass');

这也将更安全地存储密码,因为将存储散列值而不仅仅是纯文本。

答案 1 :(得分:0)

Brent777的解决方案可行,但为了增加安全性,我建议使用salt_value对哈希进行盐析。

SELECT users.id, users.name into @id, @name FROM users where users.name = 'jaakko';
CREATE USER 'jaakko'@'localhost';
SET @newpass = 'newpass';
SET PASSWORD FOR 'jaakko'@'localhost' = PASSWORD(concat(@id,@name,@newpass));

否则攻击密码表太容易了。