mysql_connect localhost和127.0.0.1的区别(网络层阐述)


Posted in PHP onMarch 26, 2015

connects.php

mysql_connect('127.0.0.1','root','zzzizzz1');

mysql_connect('localhost','root','zzzizzz1');

使用strace获取系统调用:

strace php connects.php 2>&1 | grep connect
#127.0.0.1 -> internet socket

connect(3, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EINPROGRESS (Operation now in progress)

#localhost -> unix domain socket

connect(7, {sa_family=AF_FILE, path="/var/run/mysqld/mysqld.sock"}, 110) = 0

Socket原本是为网络通讯设计的,但后来在Socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。
虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:
不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。
这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。
UNIX Domain Socket也提供面向流和面向数据包两种API接口,类似于TCP和UDP,但是面向消息(UDP)的UNIX Domain Socket也是可靠的,消息既不会丢失也不会顺序错乱。

PHP 相关文章推荐
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
几种有用的变型 PHP中循环语句的用法介绍
Jan 30 PHP
php在项目中寻找代码的坏味道(综艺命名)
Jul 19 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
PHP中feof()函数实例测试
Aug 23 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
php实现的操作excel类详解
Jan 15 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
php+ajax 文件上传代码实例
Mar 18 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 24 PHP
php实现JWT验证的实例教程
Nov 26 PHP
php实现RSA加密类实例
Mar 26 #PHP
PHP中实现crontab代码分享
Mar 26 #PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
Mar 26 #PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 #PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
Mar 25 #PHP
MacOS 安装 PHP的图片裁剪扩展Tclip
Mar 25 #PHP
php编写的一个E-mail验证类
Mar 25 #PHP
You might like
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
2011/05/07 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP同时连接多个mysql数据库示例代码
2014/03/17 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
php数组遍历类与用法示例
2019/05/24 PHP
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
js 自制滚动条的小例子
2013/03/16 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
javaScript基础详解
2017/01/19 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
微信小程序上传图片实例
2018/05/28 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
[33:23]VG vs Pain 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
总结Python中逻辑运算符的使用
2015/05/13 Python
Python中字典的基本知识初步介绍
2015/05/21 Python
Python实现计算最小编辑距离
2016/03/17 Python
vscode 远程调试python的方法
2017/12/01 Python
Python3生成手写体数字方法
2018/01/30 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
四风自我剖析材料
2014/09/30 职场文书
网络妈妈观后感
2015/06/08 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
python 如何做一个识别率百分百的OCR
2021/05/29 Python
Mysql 设置boolean类型的操作
2021/06/04 MySQL
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL