mysql匿名账号与root账户密码修改方法

要想为匿名账户指定密码,可以使用SET PASSWORDUPDATE

在两种情况中,一定要使用PASSWORD()函数为密码加密。

在Unix中使用PASSWORD的方法:

shell> mysql -u root

mysql> SET PASSWORD FOR ''@'localhost' = PASSWORD('newpwd');

mysql> SET PASSWORD FOR ''@'host_name' = PASSWORD('newpwd');

用服务器主机名替换第二个SET PASSWORD语句中的host_name。

这是指定的user表中的root non-localhost记录的Host列名。

如果你不知道是哪个主机名,在SET PASSWORD之前执行下面的语句:

mysql> SELECT Host, User FROM mysql.user;

查找在User列有root和在Host列没有localhost的记录。然后在第二个SET PASSWORD语句中使用该Host值。

 

为匿名账户指定密码的另一种方法是使用UPDATE直接修改用户表。

用root连接服务器,运行UPDATE语句为相应user表记录的Password列指定一个值。

下面的UPDATE语句同时为两个匿名账户指定密码:

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')  WHERE User = '';

mysql> FLUSH PRIVILEGES;

在user表中直接使用UPDATE更新密码后,必须让服务器用FLUSH PRIVILEGES重新读授权表。否则,重新启动服务器前,不会使用更改。

 

删除匿名账户,操作方法是:

shell> mysql -u root

mysql> DELETE FROM mysql.user WHERE User = '';

mysql> FLUSH PRIVILEGES;

 

为root账户指定密码可以使用下面的UPDATE语句指定密码:

shell> mysql -u root

mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')  WHERE User = 'root';

mysql> FLUSH PRIVILEGES;

mysql> exit


 

posted @ 2013-02-13 12:07  独孤侠  阅读(700)  评论(0编辑  收藏  举报