通过直接修改授权表设置用户权限,运行这些命令(注意,在结束时FLUSHPRIVILEGES ): shell>sql/Index.html'>mysql--user=rootsql/Index.html'>mysqlsql/Index.html'>mysql>INSERTINTOuser(Host,User,Password)VALUES(localhost,custom,PASSWORD(stupid));sql/Index.html'>mysql>INSERTINTOuser(Host,User,Password)VALUES(server.domain,custom,PASSWORD(stupid));sql/Index.html'>mysql>INSERTINTOuser(Host,User,Password)VALUES(whitehouse.gov,custom,PASSWORD(stupid));sql/Index.html'>mysql>INSERTINTOdb(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)VALUES(localhost,bankaccount,custom,Y,Y,Y,Y,Y,Y);sql/Index.html'>mysql>INSERTINTOdb(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)VALUES(whitehouse.gov,expenses,custom,Y,Y,Y,Y,Y,Y);sql/Index.html'>mysql>INSERTINTOdb(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv)VALUES(%,customer,custom,Y,Y,Y,Y,Y,Y);sql/Index.html'>mysql>FLUSHPRIVILEGES;
头3个INSERT 语句增加user 表条目,允许用户custom 用给定口令从不同的主机进行连接,但是没有授予任何许可(所有权限被设置为缺省值N )。后3个INSERT 语句增加db 表条目,授予custom 以bankaccount 、expenses 和customer 数据库权限,但是只能在从正确的主机存取时。通常,在授权表直接被修改时,服务器必须被告知再次装入他们(用FLUSHPRIVILEGES )以便使权限修改生效。
如果你想要给特定的用户从一个给定的域上的任何机器上存取权限,你可以发出一个如下的GRANT 语句: sql/Index.html'>mysql>GRANT...ON*.*TOmyusername@"%.mydomainname.com"IDENTIFIEDBYmypassword;
为了通过直接修改授权表做同样的事情,这样做: sql/Index.html'>mysql>INSERTINTOuserVALUES(%.mydomainname.com,myusername,PASSWORD(mypassword),...);sql/Index.html'>mysql>FLUSHPRIVILEGES; |