2010-02-17 32 views

Respuesta

5

localhost debe definirse en su archivo de hosts, que es por defecto en Windows y en la mayoría de los sistemas operativos.

Comprobar el siguiente archivo de texto y ver lo que pasa:

C:\WINDOWS\system32\drivers\etc\hosts 

Tenga en cuenta "hosts" es el archivo, sin extensión, no es una carpeta. Este archivo debería estar prácticamente vacío, si ve entradas, su bloqueador de correo no deseado/AV ha agregado un montón de entradas que apuntan a 127.0.0.1 o malware desagradable ha escrito basura allí, a pesar de que las entradas más nuevas están por debajo de las anteriores. Localhost debe ser la primera entrada en ese archivo.

+5

Ese archivo de hosts puede tener :: 1 para localhost. Normalmente desactivo todo lo que no esté relacionado con IP4 para que las cosas funcionen. –

1

Probar:

IE -> Herramientas -> Opciones -> Conexión -> Configuración de LAN Compruebe proxy para direcciones locales

2

También eche un vistazo dentro de la base de datos MySQL que define el usuario privilegios de acceso. Puede definir desde qué hosts de origen puede conectarse un usuario determinado. Puede consultar para más detalles http://dev.mysql.com/doc/refman/5.1/en/connection-access.html

+1

IIRC, me he encontrado con este mismo problema antes. Le di acceso al usuario a través de "127.0.0.1" específicamente, pero no a través de "localhost". –

8

Prueba ping localhost en una línea de comandos, puede ser resuelto a ::1: el equivalente IP6 a 127.0.0.1

solucionarlo, añadir (o descomentar) de la línea:

127.0.0.1  localhost 

en C:\WINDOWS\system32\drivers\etc\hosts

+0

Esto lo hizo por mí –

2

recuerdo que siendo una característica de muchos años y documentada de MySQL en Windows. Algo sobre la forma en que funcionan los enchufes locales o algo así.

0

¿Localhost se está resolviendo en la dirección IPv6, a diferencia del IPv4, y MySQL no está escuchando en la dirección v4?

La solución es hacer que localhost resuelva en la dirección v4, O hacer que MySQL escuche en la dirección v6.

1

Si MySQL se conecta a 127.0.0.1 lo hace a través de TCP/IP, mientras que si se conecta a localhost lo hace a través de un socket.
¿Está buscando PHP en el lugar correcto para mysql.sock? Asegúrese de que los php.ini y my.conf tienen ubicaciones coincidentes

3

para Mac, aquí está la solución:

Conectar a MySQL usando localhost 127.0.0.1 en lugar de en un MAC. Hace mucho tiempo que me estoy conectando a MySQL en mi plataforma de desarrollo con 127.0.0.1 porque por alguna razón, localhost no funcionaba. Resulta que es porque 127.0.0.1 usa TCP/IP y localhost usa sockets. El archivo php.ini apunta al lugar incorrecto para mysql.sock, así que todo lo que tienes que hacer es cambiarlo, reiniciar apache y listo.

Open php.ini: /private/etc/php.ini 
Find the following line: mysql.default_socket = /var/mysql/mysql.sock 
Replace with: mysql.default_socket = /tmp/mysql.sock 
Restart apache: apachectl restart 

Nota: Dependiendo de su configuración, es posible que también tenga que actualizar estas líneas en su php.ini:

mysqli.default_socket = /tmp/mysql.sock 
pdo_mysql.default_socket = /tmp/mysql.sock 

Nota: Si usted no tiene un archivo php.ini, es necesario copiar el valor predeterminado proporcionado llamada php.ini.default

sudo cp /private/etc/php.ini.default /private/etc/php.ini 

través http://madproject.com/general/connect-to-mysql-using-localhost-instead-of-127-0-0-1-on-a-mac/

0

Si usted no está en Windows también prueba si mysql se está conectando a través de un socket, localmente normalmente lo hace.

TCP Fuerza con el cliente mysql

mysql -usomeone -p --protocol=TCP 

vs zócalo (por defecto en Linux)

mysql -usomeone -p 
mysql -usomeone -p --protocol=socket 

Este último no funcionó para mi @air [email protected]