我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL数据库主机127.0.0.1与localhost区别是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL数据库主机127.0.0.1与localhost区别是什么

这篇文章主要介绍MySQL数据库主机127.0.0.1与localhost区别是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

可能有很多朋友都会碰到一个问题不知道127.0.0.1与localhost有什么区别,但是有的时间会发现使用localhost连接不了,但是改成127.0.0.1即可了连接了,那么他们会有什么区别呢,下面我给大家介绍。

  1. mysql -h 127.0.0.1 的时候,使用 TCP/IP 连接, mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain"

  2. mysql -h localhost 的时候,是 不使用TCP/IP 连接的,而使用 Unix socket ;此时,mysql server则认为该client是来自"localhost"

  3. mysql权限管理中的"localhost"有特定含义:

注意:虽然两者连接方式有区别,但当localhost 为默认的127.0.0.1时,两种连接方式使用的权限记录都是以下的1.row的记录(因为记录在前,先被匹配)

*************************** 1. row *************************** 
Host: localhost 
User: root 
...... 
*************************** 2. row *************************** 
Host: 127.0.0.1 
User: root

证明:

shell> mysql -h 127.0.0.1 
mysql> status; 
Currentuser: root@localhost 
SSL: Notin use 
Current pager: stdout 
Using outfile: '' 
Using delimiter: ; 
Server version: 5.1.33-log Source distribution 
Protocol version: 10 
Connection: 127.0.0.1 via TCP/IP 
shell> mysql -h locahostmysql> status; 
Currentuser: root@localhost 
SSL: Notin use 
Current pager: stdout 
Using outfile: '' 
Using delimiter: ; 
Server version: 5.1.33-log Source distribution 
Protocol version: 10 
Connection: Localhost via UNIX socket

发现问题

昨天在帮同事编译安装Linux环境时,遇到一个问题:

Web服务器是apache,数据库是MySQL。

于是写了一个测试连接数据库的PHP页面:

$mysql = mysql_connect('localhost','root','');

打开 http://localhost/test.php 测试

提示:Can't connect to local MySQL server through socket...

检查环境正常

以为是数据库没有启动,于是查看一下进程,MySQL在进程里,重启了一下MySQL.

使用 mysql -u root -p 可以进入MySQL操作界面

直接使用/usr/local/php5/bin/php /web/test.php执行可以连上数据库

apache也重启了,一样无效

疑点:为何网页执行失败,命令执行却成功

这下就郁闷了,使用php命令直接执行就成功,通过网页执行就失败。难道是apache导致?网上搜索了大堆资料也没找到解决方案,重新编译安装apache问题依旧。

把localhost改成127.0.0.1成功

把localhost改成127.0.0.1后竟然连接成功了,开始陷入思考困局:localhost失败127.0.0.1却成功?

ping localhost 地址是127.0.0.1没错

打开hosts加入

127.0.0.1 qttc

使用qttc当主机连接也正常,唯独就不认localhost。

localhost连接方式不同导致

为了了解PHP连接数据库时,主机填写localhost与其它的区别阅读了大量资料,最后得知:

当主机填写为localhost时mysql会采用 unix domain socket连接

当主机填写为127.0.0.1时mysql会采用tcp方式连接

这是linux套接字网络的特性,win平台不会有这个问题

解决方法

在my.cnf的[mysql]区段里添加

protocol=tcp

以上是“MySQL数据库主机127.0.0.1与localhost区别是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL数据库主机127.0.0.1与localhost区别是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

云数据库是什么,与传统数据库有什么区别?

云数据库是什么,与传统数据库有什么区别?云数据库是指基于云计算平台提供的一种数据库服务,它将数据库部署在云端服务器上,通过网络进行数据存储、管理和访问。云数据库与传统数据库相比具有许多区别,以下是其中一些主要区别:
云数据库是什么,与传统数据库有什么区别?
2024-01-24

MariaDB与MySQL的主要区别是什么

本篇内容主要讲解“MariaDB与MySQL的主要区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MariaDB与MySQL的主要区别是什么”吧!主要区别介
2023-03-10

oracle数据库和mysql数据库有什么区别

Oracle数据库和MySQL数据库是两种不同的关系型数据库管理系统,它们之间有很多区别,包括以下几点:开发者和使用者:Oracle数据库是由Oracle公司开发的,被广泛应用于大型企业和高端应用场景;而MySQL是由瑞典MySQL AB公
oracle数据库和mysql数据库有什么区别
2024-03-02

mysql数据库和oracle数据库有什么区别

MySQL和Oracle是两种常用的关系型数据库管理系统,它们之间有很多区别,主要包括以下几点:开发公司:MySQL由瑞典MySQL AB公司开发,后被Sun收购,现在属于Oracle公司;而Oracle数据库由美国Oracle公司开发。开
mysql数据库和oracle数据库有什么区别
2024-04-22

云服务器与云数据库的区别和联系与区别是什么

云服务器(CloudStorage,CDN)与云数据库(CloudDatabase,CDB)是互联网云服务中的两种常见云服务形式。以下是云服务器与云数据库的主要区别和联系:存储:云服务器存储的数据主要是以云主机的形式存储的,而云数据库存储的是数据本地化,需要使用云端的数据管理和分析工具。数据管理:云服务器使用云主机的存储管理功能来管理数据,如文件系统、数据库、备份等;云数据库使用数据分区的存储管理功能来管理本地数据的存储和管理。数...
2023-10-27

云主机与服务器的区别是什么

云主机和服务器都是用来托管网站、应用程序和数据的计算机设备,但它们之间有一些区别:物理位置:服务器是一种物理设备,通常是一台专门的计算机,存放在数据中心或服务器机房中。而云主机是基于虚拟化技术创建的虚拟服务器,它们的计算资源来自于云计算提供
云主机与服务器的区别是什么
2024-05-07

服务器与云主机的区别是什么

服务器和云主机都是用于存储和处理数据的计算设备,但它们之间存在一些区别:1. 物理位置:服务器是一台物理设备,通常放置在数据中心或机房中,而云主机是在虚拟化环境中创建的虚拟机,可以在云平台上的任何地方运行。2. 硬件资源:服务器通常是一台独
2023-09-16

云虚拟主机与独立云主机的区别是什么

云虚拟主机与独立云主机的区别主要有以下几点:1. 硬件资源分配:独立云主机是一台完全独立的物理服务器,资源(如CPU、内存、磁盘空间)独享;而云虚拟主机是在一台物理服务器上划分出多个虚拟服务器,资源是共享的。2. 灵活性和可扩展性:独立云主
2023-08-26

编程热搜

目录