• 技术文章 >数据库 >mysql教程

    MySQL 在命名用过程中所遇到的常见问题_MySQL

    2016-06-01 13:50:43原创301
    bitsCN.com

    本文通过问答的开式来解答在mysql在命名用过程中所遇到的常见问题。

    谁能连接,从那儿连接?

    你可以允许一个用户从特定的或一系列主机连接。有一个极端,如果你知道降职从一个主机连接,你可以将权限局限于单个主机:

    GRANT ALL ON samp_db.* TO boris@localhost

    IDENTIFIED 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@%等价。这是建立用户最简单的方法,但也是最不安全的。

    取其中,你可以允许一个用户从一个受限的主机集合访问。例如,要允许mary从snake.net域的任何主机连接,用一个%.snake.net主机指定符:

    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地址。 

    如果MySQL抱怨你指定的用户值,你可能需要使用引号(只将用户名和主机名部分分开加引号)。

    GRANT ALL ON samp_db.president TO "my friend"@"boa.snake.net"

    用户应该有什么级别的权限和它们应该适用于什么?

    你可以授权不同级别的权限,全局权限是最强大的,因为它们适用于任何数据库。要使ethel成为可做任何事情的超级用户,包括能授权给其它用户,发出下列语句:

    GRANT ALL ON *.* TO ethel@localhost

    IDENTIFIED BY "coffee" WITH GRANT OPTION

    ON子句中的*.*意味着“所有数据库、所有表”。从安全考虑,我们指定ethel只能从本地连接。限制一个超级用户可以连接的主机通常是明智的,因为它限制了试图破解口令的主机。

    有些权限(FILE、PROCESS、RELOAD和SHUTDOWN)是管理权限并且只能用"ON *.*"全局权限指定符授权。如果你愿意,你可以授权这些权限,而不授权数据库权限。例如,下列语句设置一个flush用户,他只能发出flush语句。这可能在你需要执行诸如清空日志等的管理脚本中会有用:

    GRANT RELOAD ON *.* TO flushl@localhost IDENTIFIED BY "flushpass"。

    一般地,你想授权管理权限,吝啬点,因为拥有它们的用户可以影响你的服务器的操作。

    数据库级权限适用于一个特定数据库中的所有表,它们可通过使用ON db_name.*子句授予:

    GRANT ALL ON samp_db TO bill@racer.snake.net

    INDETIFIED BY "rock" GRANT SELECT ON samp_db

    TO ro_user@% INDETIFIED BY "rock"

    第一条语句向bill授权sam

    bitsCN.com
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐: 命名 用户
    上一篇:在SQL 2005 中使用页级别恢复作为灾难恢复程序_MySQL 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文聊聊MySQL中的插入意向锁• 深入理解MySQL索引优化器工作原理• 简单聊聊MySQL中join查询• MySQL性能优化全攻略- 相关数据库命令_MySQL
    1/1

    PHP中文网