假如这个世界上只剩下你一个人,当你正坐在屋子里的时候,这时突然响起了敲门声...

mysql 权限控制笔记

上一篇 / 下一篇  2008-05-01 17:56:59

查看( 93 ) / 评论( 1 )
*  阶段1:服务器检查是否允许你连接。
*r6Q+{ |g\n7pX#^ C&Y0     * 阶段2:假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。例如,如果你从数据库表中选择(select)行或从数据库删除表,服务器确定你对表有SELECT权限或对数据库有DROP权限。ITPUB个人空间T bg{7L.Jj

#gb~(T yM/Qd4d0 参考 : 5.8. MySQL用户账户管理ITPUB个人空间BT8dHZ!Mr}

"O$DV6b$oC$X(P2l bd0 1.权限查看ITPUB个人空间 @/@1^ q+eRBlp
mysql> show grants for 'root'@'localhost' ;
:e'{wA,q3q0 +---------------------------------------------------------------------+ITPUB个人空间wZ4Gw/SL.Y
| Grants for root@localhost                                           |
rVY^(Z;[#Y0 +---------------------------------------------------------------------+ITPUB个人空间 Q B5C:B.n5a,?Z6hi
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |ITPUB个人空间"r ~(h"R ?}Uzl
+---------------------------------------------------------------------+
&F$\0K}%l ?K+Q#T0 1 row in set (0.06 sec)
/^e3\,kE4d0
,|QU-b Iy0 2.权限设置
|c bvg)j0 5.8.2. 向MySQL增加新用户账户ITPUB个人空间?s&f8bxG
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
9qH+?hg3V{8X U+P w3\0     ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;ITPUB个人空间JMl pvwRo5}
ITPUB个人空间7GB&P4P&hCU
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'ITPUB个人空间5Fuk"Zo7Q
    ->     IDENTIFIED BY 'some_pass' WITH GRANT OPTION;ITPUB个人空间$^7kE[ wyse9[
   其中两个账户有相同的用户名monty和密码some_pass。两个账户均为超级用户账户,具有完全的权限可以做任何事情。一个账户 ('monty'@'localhost')只用于从本机连接时。另一个账户('monty'@'%')可用于从其它主机连接。ITPUB个人空间l M grt

'd+I3F:u.?w9T-X0
~K_^.f!S6{0 mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';ITPUB个人空间 sv,D _{
该账户只用于从本机连接。授予了RELOAD和PROCESS管理权限。这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和mysqladmin flush-xxx命令,以及mysqladmin processlist。未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。
4gI3X,W;a:\ b0sN G0 ITPUB个人空间 s'uOFI@t k
mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';
J'om8Th*m0     一个账户有用户名dummy,没有密码。该账户只用于从本机连接。未授予权限。通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。ITPUB个人空间4Wrv0k0~6L
ITPUB个人空间+Rhde-EU@7Q
下面的例子创建3个账户,允许它们访问专用数据库。每个账户的用户名为custom,密码为obscure。ITPUB个人空间8i0?A[bw0H[;j X"S
ITPUB个人空间#^|^7T{RB,} T
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
H;~q,lb\,MS0     ->     ON bankaccount.*ITPUB个人空间 fq%E p,Kn4pQ:F,V.i
    ->     TO 'custom'@'localhost'ITPUB个人空间m7L\&L8G P
    ->     IDENTIFIED BY 'obscure';
vk T`}{cFC$m0 ITPUB个人空间.pgo M:a
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROPITPUB个人空间zVk$nk7],m&z
    ->     ON expenses.*
2n5j?y#m%O*rl0S0     ->     TO 'custom'@'whitehouse.gov'
7V?R0|p6B$_0     ->     IDENTIFIED BY 'obscure';ITPUB个人空间II{hK2hk)AlX#X

w{*[Arn0 mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROPITPUB个人空间Y5MDa*_2mVgE8V
    ->     ON customer.*
e.Od;}IFB e0     ->     TO 'custom'@'server.domain'ITPUB个人空间 P&{ri&D rc
    ->     IDENTIFIED BY 'obscure';ITPUB个人空间#vH(h S1lnm
ITPUB个人空间4ATx,jK D}
这3个账户可以用于:
hG.woO)sAz0 ITPUB个人空间`m#],t&ndl
·         第1个账户可以访问bankaccount数据库,但只能从本机访问。ITPUB个人空间C$}QO:H:B
ITPUB个人空间`4[;UbjJZ4PY
·         第2个账户可以访问expenses数据库,但只能从主机whitehouse.gov访问。
wN:]3^!}0 ITPUB个人空间Q DO*z-_P
·         第3个账户可以访问customer数据库,但只能从主机server.domain访问。
)W}m0z6q,r$Y&{0
5MR3K'Y&?{8pK6d0 要想不用GRANT设置custom账户,使用INSERT语句直接修改 授权表:

TAG:

俊哥儿张(David Zhang) zhangzongjun 发布于2008-05-02 15:17:56
不错,支持~!
我来说两句

(可选)

日历

« 2008-10-16  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 12646
  • 日志数: 119
  • 建立时间: 2008-02-08
  • 更新时间: 2008-10-01

RSS订阅

Open Toolbar