你也可以直接通过发出INSERT 语句增加同样的用户存取信息,然后告诉服务器再次装入授权表: shell>sql/Index.html'>mysql--user=rootsql/Index.html'>mysqlsql/Index.html'>mysql>INSERTINTOuserVALUES(localhost,monty,PASSWORD(something),Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y)sql/Index.html'>mysql>INSERTINTOuserVALUES(%,monty,PASSWORD(something),Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y)sql/Index.html'>mysql>INSERTINTOuserSETHost=localhost,User=admin,Reload_priv=Y,Process_priv=Y;sql/Index.html'>mysql>INSERTINTOuser(Host,User,Password)VALUES(localhost,dummy,);sql/Index.html'>mysql>FLUSHPRIVILEGES;
取决于你的MySQL版本,对上述,你可能必须使用一个不同数目Y 值(在3.22.11以前的版本有更少的权限列)。对admin 用户,只用在3.22.11开始的版本具有的更加可读的INSERT 扩充的语法。
注意,为了设置一个超级用户,你只需创造一个user 表条目,其权限字段设为Y 。不需要db 或host 表的条目。
在user 表中的权限列不是由最后一个INSERT 语句明确设置的(对dummy 用户),因此那些列被赋予缺省值N 。这是GRANTUSAGE 做的同样的事情。
下列例子增加一个用户custom ,他能从主机localhost 、server.domain 和whitehouse.gov 连接。他只想要从localhost 存取bankaccount 数据库,从whitehouse.gov 存取expenses 数据库和从所有3台主机存取customer 数据库。他想要从所有3台主机上使用口令stupid 。
为了使用GRANT 语句设置个用户的权限,运行这些命令: shell>sql/Index.html'>mysql--user=rootsql/Index.html'>mysqlsql/Index.html'>mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*TOcustom@localhostIDENTIFIEDBYstupid;sql/Index.html'>mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONexpenses.*TOcustom@whitehouse.govIDENTIFIEDBYstupid;sql/Index.html'>mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONcustomer.*TOcustom@%IDENTIFIEDBYstupid; (编辑:aniston)
|