MySQL在命名过程中所遇到的常见问题总结
本文通过问答的开式来解答在mysql在命名用过程中所遇到的常见问题。 谁能连接,从那儿连接? 你可以允许一个用户从特定的或一系列主机连接。有一个极端,如果你知道降职从一个主机连接,你可以将权限局限于单个主机: GRANT ALL ON samp_db.* TO boris@localhostIDENTIFIED BY "ruby"GRANT ALL ON samp_db.*TO fred@res.mars.com IDENTIFIED BY "quartz" (samp_db.*意思是“samp_db数据库的所有表)另一个极端是,你可能有一个经常旅行并需要能从世界各地的主机连接的用户max。在这种情况下,你可以允许他无论从哪里连接: GRANT ALL ON samp_db.* TO max@% IDENTIFIED BY "diamond" “%”字符起通配符作用,与LIKE模式匹配的含义相同。在上述语句中,它意味着“任何主机”。所以max和max@%等价。这是建立用户最简单的方法,但也是最不安全的。 GRANT ALL ON samp_db.* TO mary@.snake.net IDENTIFIED BY "quartz"; 如果你喜欢,用户标识符的主机部分可以用IP地址而不是一个主机名来给定。你可以指定一个IP地址或一个包含模式字符的地址,而且,从MySQL 3.23,你还可以指定具有指出用于网络号的位数的网络掩码的IP号: GRANT ALL ON samp_db.* TO boris@192.168.128.3 IDENTIFIED BY "ruby" GRANT ALL ON samp_db.* TO fred@192.168.128.% IDENTIFIED BY "quartz" GRANT ALL ON samp_db.* TO rex@192.168.128.0/17 IDENTIFIED BY "ruby" 第一个例子指出用户能从其连接的特定主机,第二个指定对于C类子网192.168.128的IP模式,而第三条语句中,192.168.128.0/17指定一个17位网络号并匹配具有192.168.128头17位的IP地址。 GRANT ALL ON samp_db.president TO "my friend"@"boa.snake.net" 用户应该有什么级别的权限和它们应该适用于什么? GRANT ALL ON *.* TO ethel@localhostIDENTIFIED BY "coffee" WITH GRANT OPTION ON子句中的*.*意味着“所有数据库、所有表”。从安全考虑,我们指定ethel只能从本地连接。限制一个超级用户可以连接的主机通常是明智的,因为它限制了试图破解口令的主机。 GRANT RELOAD ON *.* TO flushl@localhost IDENTIFIED BY "flushpass"。 一般地,你想授权管理权限,吝啬点,因为拥有它们的用户可以影响你的服务器的操作。 GRANT ALL ON samp_db TO bill@racer.snake.netINDETIFIED BY "rock" GRANT SELECT ON samp_dbTO ro_user@% INDETIFIED BY "rock" 第一条语句向bill授权sambitsCN.com 以上就是MySQL在命名过程中所遇到的常见问题总结的内容, |