e43b1700d8ebc9877439477899fe9856.png

mysql中%虽然表示是任何主机,但是它只是针对于通过TCP/IP连接过来的主机。类似于mysql -h 172.16.0.3这种。

(推荐教程:mysql数据库学习教程)

另外还有两种:

1、localhost

2、127.0.0.1

%不能替代上面两种,也就是说,你在本机用mysql -hlocalhost(等同于mysql 不指定-h),mysql -h127.0.0.1方式连接数据库,MySQL的权限验证模块都会采用不同的方式。

Host列指定了允许用户登录所使用的IP,比如user=root Host=192.168.1.1。这里的意思就是说root用户只能通过192.168.1.1的客户端去访问。

而%是个通配符,如果Host=192.168.1.%,那么就表示只要是IP地址前缀为“192.168.1.”的客户端都可以连接。如果Host=%,表示所有IP都有连接权限。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐