Mi archivo / etc / hosts se ve así:
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Mientras construía el servidor, descubrí que aunque podía hacer ping localhost con éxito, en ciertos archivos de configuración para servicios como Postfix y Apache y Dovecot, necesitaba especificar en 127.0.0.1
lugar de localhost
hacerlo para que funcionen.
También necesitaba cambiar los archivos de configuración de ciertos sitios web basados en bases de datos, que solían localhost
conectarse a MySQL.
He intentado varias modificaciones al hosts
archivo, pero nada de lo que he intentado hasta ahora ha ayudado.
El servidor ejecuta Ubuntu 12.04.02 LTS. No tiene instalado selinux y la situación anterior permanece incluso después de configurar las políticas predeterminadas de IPtables para aceptarlas y eliminarlas.
127.0.0.1
(excepto uno que sea%
). Creo que esto probablemente revela lo suficiente para que yo lo solucione, por lo que probablemente aceptaré su respuesta en breve.localhost
como ensocket
lugar deTCP
).La mayoría de los clientes MySQL son extraños en el hecho de que si especifica el host como
localhost
, alias eso a una conexión de socket en lugar de una conexión TCP. Sus opciones son quedarse con127.0.0.1
o, si el cliente lo admite (como lo hace el binario mysql CLI con la--protocol
bandera), forzarlo a usar TCP en lugar de un socket unix.fuente
127.0.0.1
lugar dellocalhost
campo de nombre de host durante la instalación, hace que las rutas de instalación se confundan, lo que me da otros errores, ¡pero al especificar localhost no se puede conectar la base de datos! ¿Qué causó esta situación? ¿Por qué lo tengo?socket = /var/run/mysqld/mysqld.sock
enmy.cnf
y el archivo es existente, propiedad de MySQL con permisos 777. Gracias.127.0.0.1
que funcione (pero el script usa la entrada más tarde y falla porque espera un nombre resoluble comolocalhost
), pero si usolocalhost
, la conexión, para crear la base de datos, falla.Una cosa a tener en cuenta si las concesiones son correctas es que si usas MariaDB hubo un error que causó este comportamiento exacto en la versión 10.0.1 y 5.5.30 https://mariadb.atlassian.net/browse/MDEV-4356
fuente
Puede verificar permisos como este:
Si esto está escuchando en 0 0.0.0.0:* significa que todos pueden acceder a ese mysql.
puede editar el enlace para esto en el archivo my.conf. En Linux, la ruta predeterminada para esto es:
Agregue estas líneas en el archivo my.conf para permitir la ip que desee.
fuente
PHP todavía está tratando de usar la ubicación de socket predeterminada. Este problema puede aparecer si ha movido la carpeta MariaDB / MySQL de / var / lib / mysql a otra ubicación. Para resolver el problema, debe definir la ubicación del nuevo socket en el archivo /etc/php.ini .
fuente
He resuelto este problema mediante la creación de enlaces simbólicos,
sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
. Pero primero tengo que crear una carpeta/var/run/mysqld/
porque la carpeta no existía inicialmente.fuente
Necesita un mysql.sock en / tmp
ln -s /var/lib/mysql/mysql.sock mysql.sock
debería funcionar bien después de eso.
fuente