一、连接MySQL数据库有两种方式:TCP/IP(一般理解的端口的那种)和Unix套接字(一般叫socket或者sock)

大部分情况下,可以用localhost代表本机127.0.0.,但是在MySQL连接时,二者不可混用,而且MySQL中权限设置中localhost与127.0.0.1也是分开设置的。
、mysql -h 127.0.0.1 的时候,使用 TCP/IP 连接, mysql server 认为该连接来自于127.0.0.1或者是"localhost.localdomain",系统通过TCP/IP方式连接数据库,127.0..1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
、mysql -h localhost 的时候,不使用TCP/IP 连接的,而使用 Unix socket连接 ,此时,mysql server则认为该client是来自"localhost",系统通过socket方式连接数据库,localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。

二、总结:

一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。而且通过socket连接时,socket文件可以在my.cnf配置文件中进行配置,参考如下:

[mysqld]
socket = /home/cdrom/work/mysql_3307/tmp/mysql.sock
其中/home/cdrom/work/mysql_3307/tmp路径必须真实存在,
默认是使用的sock的方式连接的,当没有指定sock文件的情况下,而默认的sock文件是从/tmp/mysql.sock路径下找的。

#######################################

三、单机多实例部署mysql后,通过socket登陆时,需要注意:

如果你想在本地通过“mysql -PYYY -uroot -pZZZ”来登陆mysql服务,那么你只能登陆其中的一个实例。
这是我在部署单机多实例遇到的问题,本想直接在本地通过端口来分别连接到不同实例上,结果连接到的实例都是同一个实例,你说气不气。于是想通过指定-h127.0.0.1来通过tcp/ip来连接数据库,然而可气的是,刚刚初始化的数据库根本就没有'root'@'127.0.0.1'这个用户,
只有'root'@'localhost'这个用户,以及'sys'@'localhost'用户。此时,我已经万念俱灰了,不得不用socket进行免密码登陆实例上去修改'root'@'localhost'这个用户密码,修改之后去掉skip-grant-tables参数,重启服务,
然后用'root'@'localhost'这个用户登陆上去创建其他用户,比如:'root'@'127.0.0.1'
此时登陆本地mysql服务,最佳方式就是通过指定socket文件来登陆,此时不需要指定port,这是多此一举的行为,即便指定端口号,也会被忽略,在未指定主机地址的情况下,也即-h参数,是会忽略端口号的参数值。通过指定socket文件来访问就能区别出哪一个实例了。
、如果在本地也即服务器端连接至MySQL实例的时候,未指定主机地址的情况下,默认是以sock的方式连接的,而未指定sock的时候,又是按照默认的路径找对应的sock文件此时会忽略连接命令中的端口号参数,不注意的情况下可能会造成一些凌乱。
、如果是从客户端(非服务器端)连接的话,肯定会指定IP,一旦指定了IP,对应的端口号就生效了,因此客户端不会发生类似情况。
# mysql -uroot --socket=/home/cdrom/work/mysql_3307/tmp/mysql.sock

localhost与127.0.0.1区别的更多相关文章

  1. MySQL主机127.0.0.1与localhost区别总结

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

  2. MySQL 127.0.0.1和localhost本质区别

    登录方式: [root@10-4-14-168 ~]# mysql -uroot -p Enter password: 查看权限表 mysql> SELECT user,host,passwor ...

  3. 127.0.0.1与localhost与ip的区别

    127.0.0.1与localhost与ip的区别 May 18, 2014 localhost 不联网不使用网卡,不受防火墙和网卡限制本机访问 一般使用 本地套接字文件AF_UNIX 应用程序一般约 ...

  4. localhost简介、localhost与 127.0.0.1 及 本机IP 的区别

    localhost是什么意思? 相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析. 看来这个入门问题还有人不清楚,其实这两者是有区别的. localhos ...

  5. 【转自知乎】:localhost、127.0.0.1 和 本机IP 三者的区别?

    作者:知乎用户链接:https://www.zhihu.com/question/23940717/answer/26230963来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  6. localhost和127.0.0.1及ip区别

    1.127.0.0.1是回送地址,指本地机,一般用来测试使用.回送地址是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什 ...

  7. localhost,127.0.0.1 和 本机IP 三者的区别

    localhost.127.0.0.1和本机IP的区别如下: 1.首先 localhost 是一个域名,在过去它指向 127.0.0.1 这个IP地址.在操作系统支持 ipv6 后,它同时还指向ipv ...

  8. [ASP.NET]关于DOT NET的IIS配置LocalHost访问和127.0.0.1访问的区别

    项目上遇到一个问题跟大家分享下,配置的localhost地址本地无法访问接口,外网却可以访问,查其原因百度资料比较全面的解释 localhost与127.0.0.1的概念和工作原理之不同 要比较两个东 ...

  9. localhost/127.0.0.1/本机IP的区别以及端口号

    端口号: http请求默认的端口是:80 PHPstudy中的端口号: Apache服务器的端口是:80 MySQL数据库的端口是:3306 PHP项目端口是:9000 禅道中的端口号: Apache ...

  10. localhost与127.0.0.1的区别 2

    localhost与127.0.0.1的区别localhost与127.0.0.1的区别是什么?相信有人会说是本地ip,曾有人说,用127.0.0.1比localhost好,可以减少一次解析.看来这个 ...

随机推荐

  1. JS中 reduce() 的用法

    过去有很长一段时间,我一直很难理解 reduce() 这个方法的具体用法,平时也很少用到它.事实上,如果你能真正了解它的话,其实在很多地方我们都可以用得上,那么今天我们就来简单聊聊JS中 reduce ...

  2. python爬虫教程之美丽汤(一)

    python 爬虫之美丽汤 BeautifulSoup 作者: jwang106 1. 使用requests获取网页的html源码 import requests from bs4 import Be ...

  3. yolov1代码阅读

    yolov1使用的backbone是由GoogLeNet启发而来,有24个卷积层,最后接2个全连接层,详细结构如下图: 检测网络的输入分辨率是448X448,最后的特征图大小为7X7.在特征图的每一个 ...

  4. Java 并发总结(三)

    锁优化及注意事项 有助于提高锁的性能 减小所持有时间:例如不要对方法直接加锁,而是在方法中对具体访问临界资源的代码加锁 减小锁粒度:如ConcurrentHashMap 用读写锁代替独占锁 锁分离:如 ...

  5. hexo next主题深度优化(四),自定义一个share功能,share.js。

    文章目录 背景: 开始: 引入资源: 代码 关键的一步 附:方便学习的小demo 一次成功后还出现上面的bug 结束 2018.12.23发现bug(读者可忽略) 个人博客:https://mmmmm ...

  6. CSS3 RGBA等于RGB加上opacity吗?

    在我们前端设计里有两篇教程: CSS3 RGBA colors使用说明 css3中opacity属性学习与实践,他们公别介绍了RGBA,RGB,opacity的用法,这里我们把这三个属性放在一起来考虑 ...

  7. 网页重构应该避免的10大CSS糟糕用法

    对于网页重构来说,CSS禅意花园 是网页布局从 table 表格转到了 html +css 的标志 .这些年来,随着我们的网站越来越复杂:html5,css3,新的技术.新的属性,越来越多的开发者开始 ...

  8. linux mysql 远程访问权限问题

    1.为了让访问mysql的客户端的用户有访问权限,我们可以通过如下方式为用户进行授权:mysql> grant all on *.* to user_name@'%' identified by ...

  9. 使用CSS为图片添加更多趣味的5种方法

    使用Photoshop为每个图片添加某种样式虽然可行,但会是相当乏味且困难的长久工作.下面要介绍的CSS技巧将帮助你从痛苦中解脱出来! 阴影效果 通过使用带有一些padding之的背景图来添加阴影效果 ...

  10. Tomcat Geoserver等服务器 端口号修改

    端口号修改是我们经常会用到的,这里整理一下我们常见的服务器端口号修改位置,后面在用到的时候会持续更新 注意:端口号修改服务都需要重启才有效. 1.Tomcat 位置:..\tomcat路径\conf\ ...