GRANT ALL ON samp_db.* TO boris@localhost IDENTFIEDBY "ruby"
GRANT ALL ON samp_db.* TO fred@ares.mars.net IDENTFIEDBY "quartz"
(符号samp_db.* 含义是“在samp_db 数据库中的所有表”)在另一个极端,您可能会有一个用户m a x,他周游世界并需要能够从世界各地的主机中进行连接。在这种情况下,无论他从哪里连接您都将允许:
GRANT ALL ON samp_db.* TO max@% IDENTFIEDBY "diamond"
‘%'字符起通配符的作用,与LIKE模式匹配的含义相同,在上个语句中,它的意思是“任何主机”。如果您根本不给出主机名部分,则它与指定“ %”的含义相同。因此, max和max@%是等价的。这是设置一个用户最容易的方法,但安全性最小。
要想采取妥协的办法,可允许用户在一组有限的主机中进行连接。例如,要使mary 从snake.net 域的任何主机中进行连接,可使用%.snake.net 主机说明符:
GRANT ALL ON samp_db.* TO mary@%.snake.net IDENTFIEDBY "topaz"
该用户标识符的主机部分可用IP 地址而不是主机名给出(如果愿意的话)。可以指定一个直接的IP 地址或包含模式字符的地址。同样,自MySQL3.23 起,可以用一个网络掩码来指定IP 号,网络掩码表明了用于该网络号的二进制位数:
GRANT ALL ON samp_db.* TO joe@192.168.0.3 IDENTIFIEDBY "water"
GRANT ALL ON samp_db.* TO ardis@192.168.128.% IDENTIFIEDBY "snow"
GRANT ALL ON samp_db.* TO rex@192.168.128.0/17 IDENTIFIEDBY "ice"
第一条语句指明用户可进行连接的特定的主机。第二条语句指定129.168.128 Class C 子网的IP 模式。在第三条语句中, 192.168.128.0/17 指定一个17 位二进制的网络号,并将任何主机与其IP 地址的前17 个二进制位中的192.168.128.0/17 进行匹配。
如果MySQL抱怨您指定的用户值,则可能需要使用引号(但对用户名和主机名分别加引号):
GRANT ALL ON samp_db.president TO "my friend"@"boa.snake.net"
2. 用户应具有什么级别的权限,这些权限适用于什么
您可授予不同级别的权限。全局权限的功能最强,因为它们适用于任何数据库。为了使ethel 成为可以进行一切操作的超级用户(其中包括可以对其他用户授权),发布下列语句:
GRANT ALL ON *.* TO ethel@localhost IDENTIFIEDBY "coffee"










