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

MySQL中主机127.0.0.1与localhost的区别是什么

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

MySQL中主机127.0.0.1与localhost的区别是什么

本篇文章为大家展示了MySQL中主机127.0.0.1与localhost的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

  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文档

猜你喜欢

MariaDB与MySQL的主要区别是什么

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

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

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

主机和云主机的区别是什么

主机和云主机之间的主要区别在于它们的部署方式和提供的服务。主机是指物理服务器,用户可以独立拥有和管理该服务器,通常是在数据中心或者机房中放置。用户需要购买服务器硬件,并承担服务器的运行和维护费用。云主机是指通过云服务提供商租用虚拟服务器资
主机和云主机的区别是什么
2024-05-15

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

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

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

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

云主机和vps主机的区别是什么

这篇文章主要讲解了“云主机和vps主机的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“云主机和vps主机的区别是什么”吧! 在云计算时代,云主机因为价格、安全性、以及它的可拓展性这
2023-06-07

云主机跟VPS主机的区别是什么

本篇内容介绍了“云主机跟VPS主机的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.云主机云主机是云计算在基础设施应用上的重要组
2023-06-07

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

云服务器与vps主机之间存在一些相似之处,但它们也有一些不同之处。以下是它们的主要区别:存储大小:vps主机通常具有很大的存储空间,可以用于存储数据、文件、应用程序等,而云服务器则通常不具有这种存储空间。数据存储:云服务器通常具有多个数据存储位置,以确保数据的可靠性和安全性。这意味着当数据需要备份时,您可以轻松地将所有数据复制到云服务器上。访问速度:云服务器可以提供更快的访问速度,因为云服务器可以将数据分布在多个...
2023-10-27

mysql中myisam与innodb的区别是什么

MyISAM和InnoDB是MySQL数据库中两种最常用的存储引擎,它们之间有一些重要的区别:ACID属性:InnoDB支持事务,具有ACID(原子性、一致性、隔离性、持久性)属性,可以确保数据的完整性和一致性。而MyISAM不支持事务。锁
mysql中myisam与innodb的区别是什么
2024-03-15

虚拟主机与云主机有什么区别

虚拟主机和云主机是两种不同类型的主机服务,它们之间的区别主要在于以下几点:技术架构:虚拟主机是通过在一个物理服务器上分配不同的虚拟空间来实现多个网站共享同一台服务器的资源。而云主机则是基于云计算技术实现的一种虚拟化服务器,通过在云平台上动态
虚拟主机与云主机有什么区别
2024-05-15

云服务器与虚拟主机的区别和联系与区别是什么

1.云服务器和虚拟主机的定义1.1云服务器云服务器是一种基于云计算技术的虚拟服务器,它可以在云平台上创建和管理。云服务器可以提供更高的可靠性、可扩展性和安全性,同时还可以根据需要进行弹性扩容和缩容。1.2虚拟主机虚拟主机是一种基于共享服务器的虚拟主机,它可以通过虚拟化技术将一台物理服务器分割成多个虚拟服务器,每个虚拟服务器都可以独立运行一个网站或应用程序。2.云服务器和虚拟主机的区别
2023-10-26

云主机与一般主机有什么区别

本篇内容介绍了“云主机与一般主机有什么区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!云主机与一般的主机有什么不相同?云主机是在云计算呈现
2023-06-07

编程热搜

目录