服务监听在127.0.0.1和0.0.0.0上,到底有什么区别呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务监听在127.0.0.1和0.0.0.0上,到底有什么区别呢?相关的知识,希望对你有一定的参考价值。

服务监听在127.0.0.1和0.0.0.0上,到底有什么区别呢?给个实际的例子,大家看看


今天发现在nb1380的mysql从nb1381连不上?  

1、使用grant加权限,失败

mysql> select user,host,password from mysql.user;
11 rows in set (0.00 sec)
mysql> grant all privileges on *.* to 'root'@'nb1381' identified by '  ' with grant option;

2、telnet失败,考虑可能是iptables限制,加规则,无效

[email protected]:/var/log/mysql# iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

3、猜测可能是监听在127.0.0.1上,而不是0.0.0.0上,查看my.cnf,果然是这个原因   

[email protected]:/var/log/mysql# vim /etc/mysql/my.cnf 
bind-address            = 127.0.0.1 改为:
bind-address            = 0.0.0.0

重启mysql,果然telnet通了

[email protected]:~# telnet nb1380 3306
Trying 192.168.64.43...
Connected to nb1380.
Escape character is '^]'.

mysql也能连接了

[email protected]:~# mysql -uroot -p -hnb1380
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.6.33-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>


总结:

3306端口监听在127.0.0.1,只有本机客户端可以访问,其他服务器无法访问

3306端口如果监听在0.0.0.0上,如果没有端口限制,那么其他服务器则可以连接该服务器的该端口


以上是关于服务监听在127.0.0.1和0.0.0.0上,到底有什么区别呢?的主要内容,如果未能解决你的问题,请参考以下文章

服务器监听127.0.0.1与0.0.0.0的区别

127.0.0.1localhost0.0.0.0的区别

127.0.0.1和0.0.0.0地址的区别

127.0.0.1和0.0.0.0地址的区别

ruby rails中如何配置puma服务监听指定的IP地址

127.0.0.1和0.0.0.0和本机IP的区别