0

我目前正在使用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

现在我的问题是——

  1. 假设任何IP Address,如果有no range,那么我将无法获得任何 LOCATION_ID 对吗?然后我不能做进一步的查找,因为 LOCATION_ID 不存在?
  2. 而这些又是如何START_IP_NUM决定END_IP_NUM意义的Maxmind database呢?

我问这个的原因是,假设如果IP AddressMySql 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 数据库中的数据集?

4

0 回答 0