关于linux中localhost和hostname的问题
我发现的linux里得把该机器的hostname名字的权限赋予mysql才能访问localhost这个地址,例如:telnetlocalhost3306Trying127...
我发现的linux里得把该机器的hostname名字的权限赋予mysql才能访问localhost这个地址,
例如 :
telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+
4.0.26-log.A?UnLpo, ^]
telnet> quit
如果权限表里没有hostname的权限,就不能访问mysql的3306
而且,权限表里有没有localhost反而对测试没有任何影响
我想问的是linux的localhost,hostname,127.0.0.1和ip这些是依靠什么实现的,和windows有什么区别?
补充:我的意思是,我觉得linux的实现用hostname架空了localhost。不知道想的对不对。
re:楼下,抱歉,hosts的配置方式我知道。
[root@srtemplate ~]# cat /etc/host.conf
order hosts,bind
[root@srtemplate ~]#
hosts 在前面代表先查询本地的/etc/hosts文件
[root@srtemplate ~]# cat /etc/hosts
127.0.0.1 srtemplate localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
bind代表/etc/resolv.conf 中的DNS
[root@localhost ~]# cat /etc/resolv.conf
nameserver 202.106.0.20
search localhost
----------------------
我现在的问题是在mysql的权限表中加入localhost,并不能连同 telnet localhost 3306这个命令无效。必须再次加入root权限的hostname才能连同localhost。
问题我已经查出一点了,很可能是mysql4.0.26的一个问题,我用5.0测试后没有这个问题。 展开
例如 :
telnet localhost 3306
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+
4.0.26-log.A?UnLpo, ^]
telnet> quit
如果权限表里没有hostname的权限,就不能访问mysql的3306
而且,权限表里有没有localhost反而对测试没有任何影响
我想问的是linux的localhost,hostname,127.0.0.1和ip这些是依靠什么实现的,和windows有什么区别?
补充:我的意思是,我觉得linux的实现用hostname架空了localhost。不知道想的对不对。
re:楼下,抱歉,hosts的配置方式我知道。
[root@srtemplate ~]# cat /etc/host.conf
order hosts,bind
[root@srtemplate ~]#
hosts 在前面代表先查询本地的/etc/hosts文件
[root@srtemplate ~]# cat /etc/hosts
127.0.0.1 srtemplate localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
bind代表/etc/resolv.conf 中的DNS
[root@localhost ~]# cat /etc/resolv.conf
nameserver 202.106.0.20
search localhost
----------------------
我现在的问题是在mysql的权限表中加入localhost,并不能连同 telnet localhost 3306这个命令无效。必须再次加入root权限的hostname才能连同localhost。
问题我已经查出一点了,很可能是mysql4.0.26的一个问题,我用5.0测试后没有这个问题。 展开
展开全部
127.0.0.1是内核实现的,这个不多说,一般来说localhost是在/etc/hosts这个文件实现的,你打开这个文件看,头一行就是127.0.0.1 localhost
hostname也可以写在这个文件内,在后面接着写就是,仿照它的格式,前面写ip后面写主机名,中间可以用空格,也可以用tab键隔开,
主机名当然也可以用dns来实现,但是是先查询本地的hosts文件还是先查询dns这个是靠/etc/host.conf文件里的order关键词定义的。还有就是dns一般比较耗费时间,对于本地的服务能用hosts文件就尽量不用dns。
hostname也可以写在这个文件内,在后面接着写就是,仿照它的格式,前面写ip后面写主机名,中间可以用空格,也可以用tab键隔开,
主机名当然也可以用dns来实现,但是是先查询本地的hosts文件还是先查询dns这个是靠/etc/host.conf文件里的order关键词定义的。还有就是dns一般比较耗费时间,对于本地的服务能用hosts文件就尽量不用dns。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询