dubbo之failed to connect to server /xx.xx.xx.xx:20880 client-side timeout问题解决 Host * is not allowed to connect to this MySQL server

记录一次经历
       将公司项目拷贝到本地虚拟机进行运行的时候发生的错误,这个问题网上说的解决方法很多种,由于对linux系统不熟悉,才第一次用vmware安装虚拟机和linux系统,配置/etc/sysconfig/network-scripts/ifcfg-ens33与/etc/hosts文件,从网上拷贝的配置,也不懂如何修改,按照网上的拷贝下来,linux是正常可以启动了,而且用SecureCRTPortable,xshell这样的工具也可以正常连接,开始踏上linux这条不归路。
问题发现
当我电脑连接手机热点的时候,虚拟机是可以上网的,而且本机与虚拟机地址相互可以ping通,但是如果用公司网络却不通,偶然的机会发现,如果先启动linux,在开网,发现可以相互正常ping通ip地址,也可以上网。以为就这样可以快乐的踏上linux学习之路。
软件安装
赶紧安装配置jdk和tomcat,迫不及待的想试试手,这个还挺顺利,很快,第一个restful+spring+mybatis的项目可以正常启动,继续安装nginx,也顺利可以运行,由于dubbo项目需要依赖zookeeper,于是紧跟着安装了zookeeper,但是启动dubbo项目时,就遇到了ip地址乱入的问题,导致消费者找不到提供者,网上搜索了一大堆,搞这期间还解决了项目jetty运行,打包到服务器,一直404,应该是某个地址空格的原因吧,到凌晨1点,dubbo问题还是没有解决,于是,第二天,我就先看看公司的怎么可以,看了一下公司的ifcfg-ens33文件,发现他配置和我的不一样,

这是我最开始的配置

TYPE="Ethernet"   # 网络类型为以太网
BOOTPROTO="static"  # 手动分配ip
NAME="ens33"  # 网卡设备名,设备名一定要跟文件名一致
DEVICE="ens33"  # 网卡设备名,设备名一定要跟文件名一致 
ONBOOT="yes"  # 该网卡是否随网络服务启动
IPADDR="192.168.220.101"  # 该网卡ip地址就是你要配置的固定IP,如果你要用xshell等工具连接,220这个网段最好和你自己的电脑网段一致,否则有可能用xshell连接失败
GATEWAY="192.168.220.2"   # 网关
NETMASK="255.255.255.0"   # 子网掩码
DNS1="8.8.8.8"    # DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址

看完公司后重新配置

BROADCAST=192.168.64.255      //
DEFROUTE=yes
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
TYPE="Ethernet"   # 网络类型为以太网
BOOTPROTO="static"  # 手动分配ip
NAME="ens33"  # 网卡设备名,设备名一定要跟文件名一致
DEVICE="ens33"  # 网卡设备名,设备名一定要跟文件名一致
ONBOOT="yes"  # 该网卡是否随网络服务启动
IPADDR="192.168.168.129"  # 该网卡ip地址就是你要配置的固定IP,如果你要用xshell等工具连接,220这个网段最好和你自己的电脑网段一致,否则有可能用xshell连接失败
GATEWAY="192.168.64.1"   # 网关
NETMASK="255.255.255.0"   # 子网掩码
DNS1="8.8.8.8"    # DNS,8.8.8.8为Google提供的免费DNS服务器的IP地址

我觉得问题主要出现在 

IPADDR="192.168.168.129"
ATEWAY="192.168.64.1" 

本机上可以看到ip走的地址

 linux命令:ifconfig

 在配置/etc/hosts文件

 主机名查看命令:hostname

[root@hejj network-scripts]# hostname
hejj.com

重新配置后,发现上网问题好了,然后duboo注册的地址变成了192.168.64.129,这个问题就解决了,
又报了一个新的错误,Host * is not allowed to connect to this MySQL server,但是这变成了mysql的访问问题

问题解决办法

use mysql;
select 'host' from user where user='root';
select host, user from user;

 

 记住,mysql要重新启动,才会生效,于是重新启动mysql,果然可以访问了,到此,一些问题都解决了。

猜你喜欢

转载自www.cnblogs.com/hejj-bk/p/11589779.html