背景说明:自 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:生成新密钥
- 点击 “Generate New License Key”
- 填写密钥描述(如
My Server或GeoIP Update) - 选择是否用于
GeoIP Update(自动更新工具) - 点击生成
⚠️ 重要:License Key 生成后只会显示一次,请务必复制保存!如果丢失,只能重新生成。
三、下载免费的 GeoIP 数据库
方式 A:网页手动下载(适合初次体验)
- 登录后,点击左侧菜单“Geolite signup”,然后阅读条款,拉到最下面,点击Agree

- 返回登陆后的页面,然后此时找到并点击“Download Files”

- 在下载页面中,你会看到以下免费数据库:
| 数据库名称 | 说明 | 文件大小(约) |
|---|---|---|
| GeoLite2-Country | 国家/地区级别定位 | ~6 MB |
| GeoLite2-City | 城市级别定位(含经纬度、时区) | ~70 MB |
| GeoLite2-ASN | 自治系统号 / 运营商信息 | ~8 MB |
- 选择需要的格式:
.mmdb(二进制格式):查询速度快,适合程序直接调用.csv(文本格式):适合导入数据库或进行数据分析
- 点击 Download GZIP 下载并解压即可使用
方式 B:获取永久下载链接(适合脚本自动化)
在下载页面点击 “Get Permalinks”,可以获取带有 License Key 的永久下载链接,方便用 wget 或 curl 命令行下载:
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 存储域名 |
六、快速参考链接
表格
💡 小贴士:如果你不想注册 MaxMind 账户,也可以考虑使用 DB-IP 提供的免费数据库(无需注册、CC BY 4.0 授权、可商用),或从社区维护的镜像项目(如 free-geoip-databases)获取已打包的数据库文件。
