Host列指定了容许用户登陆所使用的IP,好比user=root Host=192.168.1.1。这里的意思就是说root用户只能经过192.168.1.1的客户端去访问。mysql
而%是个通配符,若是Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端均可以链接。若是Host=%,表示全部IP都有链接权限。、sql
这也就是为何在开启远程链接的时候,大部分人都直接把Host改为%的缘故,为了省事。数据库
mysql的%虽然表示是任何主机,可是它只是针对于经过TCP/IP链接过来的主机。相似于mysql -h 172.16.0.3这种。登录
另外还有两种:权限
一、localhost数据
二、127.0.0.1客户端
%不能替代上面两种,也就是说,你在本机用mysql -hlocalhost(等同于mysql 不指定-h),mysql -h127.0.0.1方式链接数据库,MySQL的权限验证模块都会采用不一样的方式。远程