2009-02-23 205 views
1

我最近在家里安装了easyPHP来做一些开发工作,我的电脑作为服务器运行(Windows XP)。设置mysql用户名和密码

easyPHP设置apache,php和mysql在您的计算机上工作。我无法为mysql帐户设置用户名和密码(不幸的是,我只通过cPanel完成了这项工作)。

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

有什么建议吗?谢谢。

回答

3

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

create user [email protected]; 

例如:

create user [email protected]; 

,然后你我为用户设置密码。可以使用这条线来创建用于当前用户的密码已登录在:

set password = password('mynewpassword'); 

在上述命令,密码()函数转换字符串参数的哈希密码将由MySQL的用于认证用户。如果您使用此行:

set password = 'mynewpassword'; 

那么你已经进入你的字符串作为密码,这是不是一个散列值,所以你不会可以稍后重新登录。所以不要忘记使用password()函数。

更改密码为其他用户,使用这个命令:

set password for [email protected] = password('userpassword'); 

例如:

set password for [email protected] = password('dalkXfda23423'); 

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

授予{权限}在db.table到user @ host;

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

GRANT ALL ON myDb.* to [email protected]; 

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

GRANT {PERMISSIONS} ON db.table to [email protected] IDENTIFIED BY 'userpassword'; 

例如:

GRANT ALL ON myDb.* to [email protected] IDENTIFIED BY 'dalkXfda23423'; 
0

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

mysql> grant CREATE,INSERT,DELETE,UPDATE,SELECT on pauldb.* to [email protected]; 
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;