您的位置
主页 > 网站技术 > 数据库 > » 正文

MySQL创建新用户、增加账户的2种方法及使用实例(4)

来源: 锦尚中国 点击:

第1个账户可以访问bankaccount数据库,但只能从本机访问。
第2个账户可以访问expenses数据库,但只能从主机whitehouse.gov访问。
第3个账户可以访问customer数据库,但只能从主机server.domain访问。

如果你想要让某个用户从给定域的所有机器访问(例如,mydomain.com),你可以在账户名的主机部分使用含‘%'通配符的GRANT语句:

复制代码 代码如下:


mysql> GRANT ...  ON *.* TO 'myname'@'%.mydomain.com'  IDENTIFIED BY 'mypass';

MySQL删除用户账户

使用DROP USER,您可以取消一个账户和其权限,操作如下:

复制代码 代码如下:


DROP USER user;

该语句可以删除来自所有授权表的帐户权限记录。

要点:DROP USER不能自动关闭任何打开的用户对话。而且,如果用户有打开的对话,此时取消用户,则命令不会生效,直到用户对话被关闭后才生效。一旦对话被关闭,用户也被取消,此用户再次试图登录时将会失败。这是有意设计的。

设置账户密码

用mysqladmin命令在命令行指定密码

复制代码 代码如下:


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

该命令重设密码的账户为user表内匹配User列的user_name和Host列你发起连接的客户端的记录。

为账户赋予密码的另一种方法是执行SET PASSWORD语句:

复制代码 代码如下:


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

只有root等可以更新mysql数据库的用户可以更改其它用户的密码。

如果你没有以匿名用户连接,省略FOR子句便可以更改自己的密码:

复制代码 代码如下:


mysql> SET PASSWORD = PASSWORD('biscuit');

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

复制代码 代码如下:


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

一般情况下最好使用上述方法来指定密码

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

复制代码 代码如下:


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

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

复制代码 代码如下:


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




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明