mysql+ip

有点无耻了,下面这段是贴过来的。

PHP
echo ip2long(‘192.168.1.38‘);
输出:3232235814

MYSQL
SELECT INET_ATON(‘192.168.1.38‘);
输出:3232235814

两个函数返回的结果是一样的,都是A*256*256*256+B*256*256+C*256+D的算法
192*256*256*256+168*256*256+1*256+38 = 3 232 235 814

反过来,从int转换为IP地址分别是php的long2ip()和mysql的INET_NTOA()。

mysql存储这个值是字段需要用int UNSIGNED。不用UNSIGNED的话,128以上的IP段就存储不了了。

传统的方法,创建varchar(15),需要占用15个字节,而改时使用int只需要4字节,可以省一些字节。

php存入时:$ip = ip2long($ip);
mysql取出时:SELECT INET_ATON(ip) FROM table ...
php取出时,多一步:$ip = long2ip($ip);

相关链接:

  http://www.9enjoy.com/mysql-ip2long/   // mysql处理

时间: 2024-12-18 09:41:03

mysql+ip的相关文章

mysql IP address could not be resolved

部署了discuz ,但是页面响应太慢. apache 调成debug 级别看日 (httpd.conf 里设置) Apache 没问题,自己写的php,html 页面访问响应都很快. 看数据库日志  是数据存储目录下 localhost.localdomain.err 看到 如下 错误 2014-08-28 11:00:59 19992 [Warning] IP address '192.168.2.241' could not be resolved: Temporary failure i

mysql IP转换函数

1.将字符串类型的实际IP转换成十进制数值型的 SELECT INET_ATON('209.207.224.40'); 执行结果: 2.将十进制的数值型IP转换成字符串类型的实际IP SELECT INET_NTOA(3520061480); 执行结果:

create connection error, url: jdbc:mysql://**ip**:3306/*?errorCode 1045, state 28000

运行项目时,在登录页面输入账号密码后,控制台报数据库错误,排查了好久发现数据库的账号密码写错了,改正后就可以了. 之后又报数据库初始化错误: 1 init datasource error 2 The last packet sent successfully to the server was 0 milliseconds ago. 3 The driver has not received any packets from the server. 回来查资料,在项目的配置文件mysql.ur

LR如何利用siteScope监控MySQL性能

本次实验,是在自己的电脑上使用APMServ5.2.6部署Discuz2.X论坛下,对该论坛的数据库MySQL5.1进行性能测试的,下面讲述LoadRunner在设计场景时,如何利用siteScope工具监控MySQL数据库性能: 一.在网上下载siteScope 我在网上搜了很久,发现siteScope软件的下载资源很少,毕竟它是收费的,想找个破解版,不过还是有的,哈哈...但是版本旧了点siteScope7.9.5 下载地址:http://download.csdn.net/detail/y

Java连接Mysql 实例

1 package com.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 import java.util.Scanner; 8 9 public class Atm{ 10 static Statement sc=null; 11 static Scanner sca=new Sc

如何实现服务器与mysql的远程通信?

本想通过android程序直接访问数据库获取数据,无奈在测试的过程中android一直显示无法找到驱动程序.上网找了许多资料,依旧没有找到解决的方法.因此决意搭建中介服务器.通过中介服务器进行中转,实现对第三方电脑mysql操控以及和android之间的数据通信. 最后测试成功. 具体步骤如下: 服务端: 1.首先在服务端的WEB-INF文件夹的lib目录下面引入mysql驱动程序: 2.引入完毕后,右击项目,新建java文件: 3.写上代码: import com.mysql.jdbc.*;i

mysql中间件amoeba实现mysql读写分离

Amoeba是一个以MySQL为底层数据存储,并相应用提供MySQL协议接口的proxy.它集中地响应应用的请求,根据用户事先设置的规则.将SQL请求发送到特定的数据库上运行.基于此能够实现负载均衡.读写分离.高可用性等需求.与MySQL官方的MySQL Proxy相比,作者强调的是amoeba配置的方便(基于XML的配置文件,用SQLJEP语法书写规则,比基于lua脚本的MySQL Proxy简单).本文就来实现一个简单的amoeba的配置 实验环境: 192.168.1.121为amoeba

MySQL之主从复制和读写分离(Amoeba)

案例环境: Master:192.168.154.164 Slave01:192.168.154.176 Slave02:192.168.154.156 Amoeba:192.168.154.177 应用服务器:192.168.154.155 集群拓朴: 部署实施: 一 操作系统和应用程序安装(略) 二 搭建MySQL主从复制环境 1 架构前端有硬件防火墙,因此所有服务器的iptables处于关闭状态(如果没有,请开放相应的端口) [[email protected] ~]#service ip

Java总裁 Java连接Mysql 实例(ATM)

1 package com.jdbc; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.ResultSet; 6 import java.sql.Statement; 7 import java.util.Scanner; 8 9 public class Atm{ 10 static Statement sc=null; 11 static Scanner sca=new Sc