美文网首页
MySQL 存储IP地址

MySQL 存储IP地址

作者: 邱皮皮 | 来源:发表于2021-02-18 16:37 被阅读0次

ip 地址(ipv4格式)

127.0.0.1

如果用 varchar 存储,需要占用 15 个字节
如果用 unsigned int 存储,只需要占用 4 个字节

表结构

create table log(
  id int(10) unsigned not null auto_increment,
  mid int(10) unsigned not null,
  ip int(10) unsigned not null,
  primary key(id)
) engine=innodb default charset=utf8

MySQL 操作

inet_aton("127.0.0.1"); //ip地址转长整型
inet_ntoa(2130706433); //长整型转ip地址

//插入
insert into log(mid, ip) values(1, inet_aton("127.0.0.1"));

//查询
select id, mid, inet_ntoa(ip) ip from log;

PHP 操作

$long = ip2long("127.0.0.1"); //ip地址转长整型
$ip = long2ip(2130706433); //长整型转ip地址
$maxIp = $long + 10

$insertSQL = "insert into log(mid, ip) values(1, $long)";
$selectSQL = "select id, mid, inet_ntoa(ip) ip from log where ip < $long and ip > $maxIp";

优点

  • 节省空间
  • 可以根据 ip 段 查询
  • 提升查询效率

相关文章

  • Mysql怎样存储IP地址

    Mysql怎样存储IP地址 概述 在Mysql中并没有提供针对IP地址存储的数据格式,在开发中我们可以选择使用ch...

  • MySQL 存储IP地址

    ip 地址(ipv4格式) 127.0.0.1 如果用 varchar 存储,需要占用 15 个字节如果用 uns...

  • MySQL有效的存储IP地址

    本文仅供笔者平日学习笔记之用,侵删作者:鸭血粉丝链接:https://mp.weixin.qq.com/s/P_w...

  • MysSql 存储ip地址

    mysql提供了两个方法来处理ip地址: inet_aton把ip转为无符号整型(4-8位)inet_ntoa把整...

  • mysql优化

    一、IP地址转换 使用unsigned int(10)存储ip地址,使用函数inet_ntoa()进行数字转IP,...

  • 有了ip为什么还需要mac(未完待续)

    ip、mac介绍 ip地址是可变化的(自己设置或者dhcp),mac地址是全球唯一的;(ip是存储在计算机的存储器...

  • 如何允许远程连接到MySQL数据库服务器?

    配置MySQL服务器 第一步是设置MySQL服务器,以侦听机器上的某个特定IP地址或所有IP地址。 如果MySQL...

  • suricata 声誉

    1.IP声誉 IP信誉组件的目的是Suricata引擎中IP地址的排名。它将收集,存储,更新和分发IP地址上的信誉...

  • Host is not allowed to connect t

    方法1: 方法2: 说明:%是哪个IP地址可以访问这个MYsql服务,可以换成你想要的IP地址!

  • MySQL和PHP中以整型存储IP地址

    一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储...

网友评论

      本文标题:MySQL 存储IP地址

      本文链接:https://www.haomeiwen.com/subject/wocnxltx.html