背景说明:自 2019 年 12 月起,由于隐私法规(如 GDPR、CCPA)的要求,MaxMind 不再提供无需注册的 GeoLite2 数据库下载。现在必须注册账户并生成 License Key 才能获取免费数据库。

一、注册 MaxMind 账户

步骤 1:访问注册页面

打开 MaxMind 官方注册页面:

🔗 https://www.maxmind.com/en/geolite2/signup

步骤 2:填写注册信息(*注意,不要用代理,不然会注册不了)

字段填写建议
Full Name(全名)填写你的真实姓名
Company(公司)可填写个人名字或所在公司
Industry(行业)随意选择,如 Analytics(数据分析)或 Technology
Country(国家)选择 China
Email Address(邮箱)⚠️ 务必填写真实邮箱,这将作为你的登录用户名

步骤 3:邮箱验证

提交注册后,MaxMind 会发送一封验证邮件到你的邮箱。

密码设置成功后,即可使用 邮箱地址 作为用户名登录。


二、生成 License Key(许可证密钥)

注册并登录后,你需要生成一个 License Key 才能下载数据库或配置自动更新。

步骤 1:进入 License Key 页面

登录后,访问:

🔗 https://www.maxmind.com/en/accounts/current/license-key

步骤 2:生成新密钥

  1. 点击 “Generate New License Key”
  2. 填写密钥描述(如 My ServerGeoIP Update
  3. 选择是否用于 GeoIP Update(自动更新工具)
  4. 点击生成

⚠️ 重要:License Key 生成后只会显示一次,请务必复制保存!如果丢失,只能重新生成。


三、下载免费的 GeoIP 数据库

方式 A:网页手动下载(适合初次体验)

  1. 登录后,点击左侧菜单“Geolite signup”,然后阅读条款,拉到最下面,点击Agree
  2. 返回登陆后的页面,然后此时找到并点击“Download Files”
  3. 在下载页面中,你会看到以下免费数据库:
数据库名称说明文件大小(约)
GeoLite2-Country国家/地区级别定位~6 MB
GeoLite2-City城市级别定位(含经纬度、时区)~70 MB
GeoLite2-ASN自治系统号 / 运营商信息~8 MB
  1. 选择需要的格式:
    • .mmdb(二进制格式):查询速度快,适合程序直接调用
    • .csv(文本格式):适合导入数据库或进行数据分析
  2. 点击 Download GZIP 下载并解压即可使用

方式 B:获取永久下载链接(适合脚本自动化)

在下载页面点击 “Get Permalinks”,可以获取带有 License Key 的永久下载链接,方便用 wgetcurl 命令行下载:

bash

export YOUR_LICENSE_KEY=你的LicenseKey
wget "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=$YOUR_LICENSE_KEY&suffix=tar.gz"

四、使用 geoipupdate 自动更新(推荐)

MaxMind 要求 GeoLite 用户必须保持数据库最新,30 天内必须更新到新版本。

最方便的方式是使用官方工具 geoipupdate 自动更新。

1. 安装 geoipupdate

Ubuntu/Debian:

bash

sudo add-apt-repository ppa:maxmind/ppa
sudo apt update
sudo apt install geoipupdate

其他系统或需要最新版本,可从 GitHub Releases 下载。

2. 配置 GeoIP.conf

登录 MaxMind 账户,下载预填充的配置文件,或手动创建 /usr/local/etc/GeoIP.conf(或 /etc/GeoIP.conf):

conf

AccountID 你的账户ID
LicenseKey 你的LicenseKey
EditionIDs GeoLite2-Country GeoLite2-City GeoLite2-ASN

账户 ID 可在账户页面查看,License Key 即之前生成的密钥。

3. 运行更新

bash

sudo geoipupdate

数据库文件将自动下载到 /usr/share/GeoIP//var/lib/GeoIP/ 目录。

4. 设置定时任务(crontab)

建议每周自动更新两次:

bash

# 编辑 crontab
crontab -e

# 添加以下行(每周二和周五 13:29 执行)
29 13 * * 2,5 /usr/local/bin/geoipupdate

五、使用注意事项

表格

项目说明
下载限制免费版每天最多下载 30 次
更新频率GeoLite2 通常每周更新 2 次(周二、周五)
使用协议必须遵守 GeoLite2 EULA,使用时需要署名(Attribution required)
数据精度免费版精度低于商业 GeoIP2,城市定位可能存在偏差
网络要求确保服务器能访问 download.maxmind.com 及 Cloudflare R2 存储域名

六、快速参考链接

表格

用途链接
📝 注册账户https://www.maxmind.com/en/geolite2/signup
🔑 生成 License Keyhttps://www.maxmind.com/en/accounts/current/license-key
📥 下载数据库https://www.maxmind.com/en/accounts/current/geoip/downloads
📖 官方文档https://dev.maxmind.com/geoip/geolite2-free-geolocation-data/
🔄 自动更新工具https://dev.maxmind.com/geoip/updating-databases/

💡 小贴士:如果你不想注册 MaxMind 账户,也可以考虑使用 DB-IP 提供的免费数据库(无需注册、CC BY 4.0 授权、可商用),或从社区维护的镜像项目(如 free-geoip-databases)获取已打包的数据库文件。

Leave a Reply