访问mysql数据库时,localhost和127.0.0.1不同吗?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

访问mysql数据库时,localhost和127.0.0.1不同吗?

2016-06-15 16:04:12 3022 1

用php访问本地的mysql数据库,代码如下:

$mysqli = new mysqli("localhost", $name, $passwd, "test");
if ($mysqli->connect_errno) {
  die("Failed to Connect to mysql: " . $mysqli->connect_errno);
}
$result = $mysqli->query("SELECT * FROM pet;");
if(!$result){
  echo "QUERY ERROR: " . $mysqli->error;
}
... ...
$mysqli->close();

当主机名写 localhost 时, 可以正常把库表中的记录显式出来。 而当主机名写成 127.0.0.1 时,虽然连接数据库没有报错,但报 QUERY ERROR。 这么说 localhost 和 127.0.0.1 不同吗? 怎么回事呢?

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:39:34

    loaclhost和127.0.0.1是不能等价的
    loaclhost是一个name,这个name一般情况下代表了127.0.0.1这个IP地址,也就是说,当你对计算机说,我要去loaclhost的时候,计算机会通过DNS或者NBNS或者hosts这个文件将它翻译成127.0.0.1.
    如果使用loaclhost去链接数据库,则Mysql会使用unixsocket去链接。如果指定为127.0.0.1,则会使用TCP/IP来链接。
    所以,尽量使用127.0.0.1.

    0 0
相关问答

0

回答

技术运维问题 - MYSQL使用 -RDS for MySQL报错Out of resources when opening file

2018-09-26 23:08:03 1243浏览量 回答数 0

0

回答

技术运维问题 - MYSQL使用 -RDS MySQL InnoDB表级锁等待

2018-09-26 23:13:21 1284浏览量 回答数 0

0

回答

技术运维问题 - MYSQL使用 -RDS for MySQL 报错: SELECT command denied to user 'username'@

2018-09-24 22:10:02 2077浏览量 回答数 0

1

回答

技术运维问题 - MYSQL使用 -RDS MySQL 建索引时 Specified key was too long; max key length

2018-09-24 22:07:15 1743浏览量 回答数 1

0

回答

RDS MySQL InnoDB 引擎表索引类型更改为 Hash 后无效的原因

2017-11-03 14:10:24 2655浏览量 回答数 0

1

回答

RDS是出问题了吗mysql导入数据导不进去呢?

2015-08-10 18:10:02 5295浏览量 回答数 1

2

回答

RDS和MYSQL分布式集群有什么不一样?

2015-08-06 15:09:48 7257浏览量 回答数 2

3

回答

RDS和MYSQL做主从

2015-07-31 17:19:33 5780浏览量 回答数 3

3

回答

ECS的本地mysql数据库迁移到RDS上以后,如何使用RDS呢

2015-06-19 08:11:02 7625浏览量 回答数 3

0

回答

RDS的MYSQL实例最大500个了

2015-06-01 22:09:05 5308浏览量 回答数 0
+关注
落地花开啦
喜欢技术,喜欢努力的人
文章
问答
问答排行榜
最热
最新
相关电子书
更多
冬季实战营第三期:MySQL数据库进阶实战
立即下载
OPTIMIZING SPARK DEPLOYMENTS FOR CONTAINERS: ISOLATION, SAFETY, AND PERFORMANCE
立即下载
低代码开发师(初级)实战教程
立即下载