设置mysql用户名和密码

时间:2009-02-23 06:19:40

标签: mysql

我最近在家里安装了easyPHP,用我的计算机作为服务器(Windows XP)进行一些开发工作。

easyPHP设置apache,php和mysql在您的计算机上运行。我无法设置mysql帐户的用户名和密码(遗憾的是,我只是通过cPanel完成此操作)。

easyPHP GUI允许您通过我认为没有密码的“root”登录mySQL,但我想尽快更改此内容。

有什么建议吗?感谢。

3 个答案:

答案 0 :(得分:3)

您可以通过此命令创建用户:

create user user@host;

示例:

create user farzad@localhost;

然后我为用户设置了密码。您可以使用此行为您登录的当前用户创建密码:

set password = password('mynewpassword');

在上面的命令中,password()函数将string参数转换为一个哈希密码,mysql将使用该密码对用户进行身份验证。如果你使用这一行:

set password = 'mynewpassword';

然后您输入了字符串作为密码,并且它不是哈希值,因此您将无法再次登录。所以不要忘记使用password()函数。

要更改其他用户的密码,请使用以下命令:

set password for user@host = password('userpassword');

示例:

set password for farzad@localhost = password('dalkXfda23423');

创建用户并使用密码保护登录后,您需要为用户设置权限。使用GRANT命令执行此操作。一般语法是这样的:

GRANT {PERMISSIONS} ON db.table TO user @ host;

在此命令中,权限是逗号分隔的权限列表,如SELECT,INSERT,CREATE,DROP,DELETE。您可以将ALL用作高级权限,以便用户可以执行大部分操作。 db.table指定用户可能执行操作的特定数据库的表。因此,您可以将用户限制为仅限数据库的表,或使用通配符*来允许所有表或数据库。 例如:

GRANT ALL ON myDb.* to farzad@localhost;

如果您尚未创建用户或设置密码,则可以使用grant命令创建用户,为他设置密码,并一次性授予权限。语法是这样的:

GRANT {PERMISSIONS} ON db.table to new_user@host IDENTIFIED BY 'userpassword';

示例:

GRANT ALL ON myDb.* to farzad@10.0.0.1 IDENTIFIED BY 'dalkXfda23423';

答案 1 :(得分:0)

下一段代码(从http://www.debian-administration.org/articles/39复制)创建一个带密码的用户paul(@localhost),并赋予它对pauldb数据库的完全权限。所有操作都在MySQL提示符下完成:

mysql> grant CREATE,INSERT,DELETE,UPDATE,SELECT on pauldb.* to paul@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> set password for paul = password('mysecretpassword');
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
mysql> exit;

答案 2 :(得分:0)

好吧,如果您只是想找到一些方法来更改root密码,并且您有办法运行SQL命令,那么您正在寻找“SET PASSWORD”命令: {{3 }}

要创建其他用户并通过访问特定数据库进行设置,您需要查看手册“帐户管理”一章的大部分内容:http://dev.mysql.com/doc/refman/5.0/en/set-password.html < / p>