最近被计算机网络绕晕了
我知道 mysql 远程访问设置有二个步骤
- 设置
bind-address grant all on * TO user@'user_ip'
疑问是
bind-address设置为0.0.0.0,或者192.168.1.x局域网地址,或者数据库服务器某个public ip
- 如果设置为局域网 IP 地址,是不是只有局域网的机器才能访问数据库?同理,如何设置公开 IP 地址,是不是只有外网机器才能访问数据库?而设置为
0.0.0.0,则能同时运行局域网内外机器访问数据库 bind-address究竟是什么?是监听本机3306端口的意思吗?而开放公网地址,则允许远程主机访问,因为请求的地址是公网 IP。
- 这个
user_ip是哪个?是 user 的公网 IP,还是数据库所在局域网的网关 IP?
我一直以为是公网 IP,后来自己建立了个虚拟机,发现grant 的是局域网的默认网关 IP。彻底晕了,是因为数据包进入服务器局域网最后一站是网关吗,数据包里 source ip 变成了局域网 ip 了?
晕晕的。谢谢!