<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[MySQL授权指南]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[数据库技术]]></category>
<pubDate>Mon, 04 Sep 2006 08:18:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	前提：先用mysql.exe等工具进入 <br/>mysql> <br/>状态 <br/><br/>%是无论什么ip都可以登陆。localhost是只能在mysql的本机登陆。 <br/>授权表使用举例 <br/>grant用于给增加用户和创建权限，revoke用于删除用户权限。 <br/>下面是一些用grant增加用户和创建权限的例子： <br/><br/>mysql> grant all privileges on *.* to test@localhost identified by 'test' with grant option; <br/><br/>这句增加一个本地具有所有权限的test用户（超级用户），密码是test。ON子句中的*.*意味着"所有数据库、所有表"。with grant option表示它具有grant权限。 <br/><br/>mysql> grant select,insert,update,delete,create,drop privileges on test.* to test1@'192.168.1.0/255.255.255.0' identified by 'test'; <br/><br/>这句是增加了一个test1用户，口令是test，但是它只能从C类子网192.168.1连接，对test库有select,insert,update,delete,create,drop操作权限。 <br/>用grant语句创建权限是不需要再手工刷新授权表的，因为它已经自动刷新了。 <br/>给用户创建权限还可以通过直接修改授权表： <br/><br/>mysql> insert into user values("localhost","test",password("test"),"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y"); <br/>mysql> flush privileges; <br/><br/>这两句和上面第一句grant的效果是一样的，也是增加了一个本地的test超级用户。我们看到用grant方便多了，而且还不需flush privileges <br/>。 <br/>mysql> insert into user (host,user,password) values("192.168.1.0/255.255.255.0","test1",PASSWORD("test")); <br/>mysql> insert into db values("192.168.1.0/255.255.255.0","test","test1","Y","Y","Y","Y","Y","Y","N","N","N","N") <br/>mysql> flush privileges; <br/><br/>这三句和上面第二句grant的效果也是一样的，也是增加了一个只能从C类子网192.168.1连接，对test库有select,insert,update,delete,create,drop操作权限的test1用户，口令是test。要取消一个用户的权限，使用revoke语句。revoke的语法非常类似于grant语句，除了to用from取代并且没有identified by和with grant <br/>option子句，下面是用revoke删除用户权限的例子： <br/><br/>mysql> revoke all on test.* from test1@'192.168.1.0/255.255.255.0'; <br/><br/>这句revoke就撤消了上面第二句grant创建的权限，但是test1用户并没有被删除，必须手工从user表删除： <br/><br/>mysql> delete from user where user='test1'; <br/>mysql> flush privileges; <br/><br/>这样，test1用户就彻底删除了。 <br/><br/>这些只是MySQL授权表的简单使用，更多详细的资料请见MySQL提供的手册。<br/>Tags - <a href="http://www.dzhope.com/tags/mysql/" rel="tag">mysql</a>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] MySQL授权指南]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>