MaxMind 的GeoLite2是一个很棒的数据库,如果您想将IP 地址映射到国家/地区,则非常有用。
为了有效地做到这一点,我想用这样的方案将它导入到 MySQL 数据库中:
我记得很久以前为 CSV 数据库编写了一个导入脚本,但是您今天可以下载的 CSV 格式非常难以理解,至少对我来说:
网络,geoname_id,registered_country_geoname_id,represented_country_geoname_id,is_anonymous_proxy,is_satellite_provider 1.0.0.0/24,2077456,2077456,0,0 1.0.1.0/294,1910/294,1919.19.19.19.8 0,0 1.0.4.0/22,2077456,2077456,,0,0 1.0.8.0/21,1814991,1814991,,0,0 1.0.16.0/20,1861060,1861062.0.0 ,1814991,1814991,,0,0 1.0.64.0/18,1861060,1861060,,0,0 1.0.128.0/17,1605651,1605651,,0,0
我真的被困在这里的基础知识。将数据库从其 CSV 表示形式导入 MySQL 的最有效和最简单的方法是什么?
我有用户表,其中包含用户名和IP地址.
假设我需要IP地址在5.101.108.0和5.101.108.255之间的所有数据
当IP存储在varchar中时,如何为其编写查询.我是否需要使用正则表达式,因为我必须在5.101.108之后进行过滤.?
您能否提供样本解决方案,因为我无法思考如何过滤.谢谢.