Centos系统下载大全 | Redhat系统下载大全 | Windows2012系统下载大全 | Windows2008系统下载大全| CMS教程 | 网站地图 51运维网-专注Linux/Unix系统安全运维!
当前位置:51运维网 > 数据库 > Mysql > 正文

MySQL主机127.0.0.1与localhost区别

时间:2016-06-26 21:52 来源:网络整理 作者:linux系统 阅读:

BUG描述:linux Tomcat下xxxxx_com@localhost访问数据库访问不了

解决办法:改成:xxxxx_com@127.0.0.1即可。

 

bug分析:在windows也是用localhost链接的 没有问题。为什么在linux 下就不行了呢?

 

MySQL主机127.0.0.1与localhost别:

1、localhost也叫local ,正确的解释是:本地服务器

127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)

他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1

 

2、localhot(local)是不经网卡传输!这点很重要, 【linux教程】 ,它不受网络防火墙和网卡相关的的限制。

127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。

本机IP 也是通过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。

 

但是本机IP与127.0.0.1的区别是:

127.0.0.1 只能通过本机访问

本机IP 通过本机访问也能通过外部访问

一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。

有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,用的到网络用户的权限。

 

 

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

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

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

代码如下 复制代码

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

打开 测试

提示: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命令直接执行就成功, 【linux教程】 ,通过网页执行就失败。难道是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,问题解决!

【linux命令大全】

感谢您对【51运维网 http://www.51ou.com/】的支持,我们为您免费提供《MySQL主机127.0.0.1与localhost区别》技术文章,《MySQL主机127.0.0.1与localhost区别》详细使用和说明,有时《MySQL主机127.0.0.1与localhost区别》可能不完善、敬请谅解!如果《MySQL主机127.0.0.1与localhost区别》有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
验证码:点击我更换图片