One statement: the difference between localhost and 127.0.0.1
What is the difference between localhost and 127.0.0.1? I believe some people will say it is a local IP address. Some people once said that 127.0.0.1 is better than localhost, and it can reduce resolution once. It seems that there are still some people who are not clear about this entry question. In fact, there is a difference between the two. No1: localhost is also called local. The correct explanation is: the local server 127.0.0.1 is correct in windows and other systems. The local address (local server) NO2: localhot (local) is not transmitted through the Nic! This is important because it is not restricted by network firewalls and network adapters. 127.0.0.1 is transmitted through the NIC and depends on the NIC. It is subject to network firewall and nic restrictions.
Generally, it is best to use localhost for local services when setting a program. localhost will not be resolved to an IP address, nor will it occupy Nic or network resources. Sometimes you can use localhost, but you cannot use 127.0.0.1. This is the case. Assume that when localhost is accessed, the current user's permission on the local machine is granted by the system. When IP is used, the local machine accesses the local machine through the network, which may involve the permissions of network users.
His statement: 1. mysql-H 127.0.0.1, use TCP/IP connection, MySQL Server thinks the connection comes from 127.0.0.1 or "localhost. localdomain"
2. When mysql-H localhost is used, UNIX socket is used instead of TCP/IP connection. At this time, MySQL Server considers the client to be from "localhost"
3. "localhost" in MySQL permission management has a specific meaning: -- MySQL manual 5.6.4 ..... A host value may be a hostname or an IP number, or 'localhost' to indicate the local host.
Note: although there are differences between the two connection methods, when localhost is 127.0.0.1 by default, the permission records used by the two connection methods are the following 1. row record (because the record is matched first) *************************** 1. row ************************** HOST: localhost User: Root ...... * *************************** 2. row ************************** HOST: 127.0.0.1 User: Root
Proof:
Shell> mysql-H 127.0.0.1 mysql> status; current user: root@127.0.0.1 SSL: not in use current Pager: stdout using OUTFILE: "using delimiter:; server version: 5.1.33-log Source Distribution Protocol version: 10 connection: 127.0.0.1 via TCP/IP
Shell> mysql-H locahost mysql> status; current user: root @ localhost SSL: not in use current Pager: stdout using OUTFILE: "using delimiter:; server version: 5.1.33-log Source Distribution Protocol version: 10 connection: localhost via UNIX socket
Shell> mysql-H xxxx (IP) mysql> status; current user: root @ ip ssl: not in use current Pager: stdout using OUTFILE: "using delimiter:; server version: 5.1.33-log Source Distribution Protocol version: 10 connection: xxxx (IP) via TCP/IP
Original article: http://blog.sina.com.cn/s/blog_40e1ba640100ivjj.html