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()函数。
技术是孤独的,但行走于技术之间又是无限的宽广!