mysql设置账户密码相关知识

有以下几种方法设置mysql账户密码:

•可以用mysqladmin命令在命令行指定密码:

shell> mysqladmin -u user_name -h host_name password "newpwd"

•执行SET PASSWORD语句:

mysql> SET PASSWORD FOR 'jeffrey'@'%' = PASSWORD('biscuit');

•在全局级别使用GRANT USAGE语句(在*.*)来指定某个账户的密码而不影响账户当前的权限:

mysql> GRANT USAGE ON *.* TO 'jeffrey'@'%' IDENTIFIED BY 'biscuit';

•通过直接修改user表:

要想在创建新账户时建立密码,在Password列提供一个值:

shell> mysql -u root mysql 

mysql> INSERT INTO user (Host,User,Password) VALUES('%','jeffrey',PASSWORD('biscuit')); 

mysql> FLUSH PRIVILEGES; 

 要想更改已有账户的密码,使用UPDATE来设置Password列值:

shell> mysql -u root mysql  

mysql> UPDATE user SET Password = PASSWORD('bagel') WHERE Host = '%' AND User = 'francis'; 

mysql> FLUSH PRIVILEGES;

两点总结:

当你使用SET PASSWORD、INSERT或UPDATE指定账户的密码时,必须用PASSWORD()函数对它进行加密。

如果你使用GRANT ... IDENTIFIED BY语句或mysqladmin password命令设置密码,它们均会加密密码。在这种情况下,不需要使用 PASSWORD()函数。

posted @ 2013-02-19 20:30  独孤侠  阅读(833)  评论(0编辑  收藏  举报