localhost表示只允许用户在当前服务器上连接MySQL服务器
即一个表示允许远程连接,一个只允许本机连接。
SQL 中的 % 标示通配符, 匹配任何字符, 例如:select * from TableName where name like 'a%' // 可匹配 a 开头的任何字符串
是正则中的 * 因为正则里 + 是至少1个. * 可以0个
一.权限表mysql数据库中的3个权限表:user 、db、 host
权限表的存取过程是:
1)先从user表中的host、 user、 password这3个字段中判断连接的IP、用户名、密码是否存在表中,存在则通过身份验证;
2)通过权限验证,进行权限分配时,按照useràdbàtables_privàcolumns_priv的顺序进行分配。即先检查全局权限表user,如果user中对应的权限为Y,则此用户对所有数据库的权限都为Y,将不再检查db, tables_priv,columns_priv;如果为N,则到db表中检查此用户对应的具体数据库,并得到db中为Y的权限;如果db中为N,则检查tables_priv中此数据库对应的具体表,取得表中的权限Y,以此类推。
二.MySQL各种权限(共27个)
(以下 *** 作都是以root身份登陆进行grant授权,以p1@localhost身份登陆执行各种命令。)
1. usage
连接(登陆)权限,建立一个用户,就会自动授予其usage权限(默认授予)。
mysql>grant usage on *.* to ‘p1′@’localhost’ identified by ‘123′
该权限只能用于数据库登陆,不能执行任何 *** 作;且usage权限不能被回收,也即REVOKE用户并不能删除用户。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)