繁体   English   中英

设置mysql用户名和密码

[英]Setting mysql usernames and passwords

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

easyPHP设置apache,php和mysql在您的计算机上工作。 我在设置mysql帐户的用户名和密码时遇到了麻烦(遗憾的是,我只通过cPanel完成了此操作)。

easyPHP GUI使您可以通过我假定为“ root”的用户名登录而无需密码,但是我想尽快更改此密码。

有什么建议吗? 谢谢。

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

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命令执行此操作。 一般语法如下:

将db.table上的{PERMISSIONS}授予用户@主机;

在此命令中,权限是用逗号分隔的权限列表,例如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';

下一段代码(从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;

好吧,如果您只是在寻找某种方法来更改root密码,并且有一种方法可以运行SQL命令,那么您正在寻找“ SET PASSWORD”命令: http://dev.mysql.com/doc/refman/5.0/en/set-password.html

为了创建其他用户并设置他们对特定数据库的访问权限,您需要仔细阅读本手册“帐户管理”一章的大部分内容: http://dev.mysql.com/doc/refman/5.0/en/account-management-sql.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM