我目前正在使用Maxmind Geolite
数据库。我有一张表GEO_IP_CITY_BLOCKS_0
,其中的列命名为-
START_IP_NUM END_IP_NUM LOCATION_ID
上表中的样本数据——
7602176 7864319 16
16777216 16777471 17
我知道,如果我正在寻找 IP 地址,那么我需要将该 IP 地址转换为 long,这意味着我可以在 MySql 中使用以下查询来获取LOCATION_ID
,然后基于LOCATION_ID
我可以进一步查找来获取City
等等State
。 -
SELECT * FROM `GEO_IP_CITY_BLOCKS_0` WHERE INET_ATON("174.36.207.186") BETWEEN start_ip_num AND end_ip_num
现在我的问题是——
- 假设任何
IP Address
,如果有no range
,那么我将无法获得任何 LOCATION_ID 对吗?然后我不能做进一步的查找,因为 LOCATION_ID 不存在? - 而这些又是如何
START_IP_NUM
决定END_IP_NUM
意义的Maxmind database
呢?
我问这个的原因是,假设如果IP Address
MySql Maxmind 数据库中没有任何范围,那么我的想法是创建自己的范围并将来自其他来源的与该 IP 地址相对应的数据放入我的 MySql 数据库(Maxmind)中。
datasets
如果由于某种原因在 Maxmind中Maxmind database
该特定 IP 地址的数据不存在,是否有人尝试过填充其中?
请让我知道你的想法。
例如-
就像这个 IP 地址一样,当我尝试执行这个 SQL105.160.159.59
时,我没有任何范围Maxmind database
SELECT * FROM GEO_IP_CITY_BLOCKS_0 WHERE INET_ATON("105.160.159.59") BETWEEN start_ip_num AND end_ip_num
但是对于相同的 IP 地址,我可以从其他来源获取数据,所以我正在寻找的是 - 有没有什么方法可以为我上面描述的类似用例填充 Maxmind 数据库中的数据集?