深入浅出MySQL阅读笔记-修改账户密码
修改账户密码:
1:用mysqladmin命令在命令行指定密码
[root@vhost1 ~]# mysqladmin -u user_name -h host_name password "newpwd"
2:执行SET PASSWORD语句,下例将账户"scott'@'%"的密码修改为“tiger”.
mysql> SET PASSWORD FOR 'scott'@'%' = PASSWOD('tiger');
如果是更改自己的密码,可以省略for 语句:
mysql> SET PASSWORD =PASSWORD('tiger');
3:在全局级别使用GRANT USAGE语句(在“*.*”)来指定某个账号的密码而不影响账户当前的权限
mysql> GRANT USAGE ON *.* TO 'scott'@'%' IDENTIFIED BY 'tiger';
4:直接更改数据库的user表
[root@vhost1 ~]# mysql -uroot -p
mysql> INSERT INTO user (Host,User,Password) values ('%','scott',PASSWORD('tiger'));
mysql> FLUSH PRIVILEGES;
[root@vhost1 ~]# mysql -uroot -p
mysql> UPDATE user SET Password = PASSWORD('tiger') where Host = '%' AND User = 'scott';
mysql> FLUSH PRIVILEGES;
5:以上方法在更改密码时,用到都是明文。在一些重要的数据库中,可以直接使用MD5密码值来对密码进行更改:
GRANT USAGE ON *.* TO 'scott'@'tiger' IDENTIFIED BY PASSWORD '81c3b080dad537de7e10e0987a4bf52e';
或者:set password = '81c3b080dad537de7e10e0987a4bf52e'
其中的MD5密码串可以事先用其他方式获得。
注意:更改密码是,一定要主机什么时候需要使用PASSWORD函数。