sqlstate rehusada refused pdoexception hy000 error conexión php mysql pdo

php - rehusada - sqlstate[hy000][2002] connection refused laravel



Error de conexión PHP: SQLSTATE[HY000][2002] Conexión rechazada (3)

En mi caso, el servidor MySQL no se estaba ejecutando. Reinicié el servidor MySQL y el problema se resolvió.

//on ubuntu server sudo /etc/init.d/mysql start

Para evitar el problema de detención de MySQL, puede usar la utilidad "initctl" en Ubuntu 14.04 LTS Linux para asegurarse de que el servicio se reinicie en caso de falla o reinicio. Considere hablar una instantánea del volumen raíz (con mysql detenido) antes de realizar estas operaciones con fines de retención de datos [8]. Puede usar los siguientes comandos para administrar el servicio mysql con la utilidad "initctl" con operaciones de detención e inicio.

$ sudo initctl stop mysql $ sudo initctl start mysql

Para verificar el funcionamiento, puede verificar el estado del servicio y obtener la identificación del proceso (pid), simular una falla al matar el proceso "mysql" y verificar que su estado se ejecute con la nueva identificación del proceso después de algún tiempo (generalmente dentro de 1 minuto) usando los siguientes comandos.

$ sudo initctl status mysql # get pid $ sudo kill -9 <pid> # kill mysql process $ sudo initctl status mysql # verify status as running after sometime

Estoy tratando de usar una conexión PHP para conectar la base de datos MySQL que está en phpmyadmin. No hay nada de lujos en la conexión solo tratando de ver si la conexión es exitosa o no. Estoy usando MAMP para alojar la base de datos, la conexión que estoy tratando de usar es esta:

<?php $servername = "127.0.0.1"; $username = "root"; $password = "root"; try { $conn = new PDO("mysql:host=$servername;dbname=AppDatabase", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>

He estado usando cartero para probar si la conexión funciona, pero sigo recibiendo este mensaje de error:

Conexión fallida: SQLSTATE [HY000] [2002] Conexión rechazada

Antes de recibir un mensaje de error de:

Error de conexión: SQLSTATE [HY000] [2002] No existe tal archivo o directorio

Esto se debió a que configuré el nombre del servidor en localhost, al cambiar esto a la dirección IP me dio una conexión rechazada y no tengo idea de lo que está mal.

Cualquier ayuda con respecto a esto sería apreciada.


Encontré la razón por la cual la conexión no funcionaba, era porque la conexión estaba tratando de conectarse al puerto 8888, cuando necesitaba conectarse al puerto 8889.

$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);

Esto solucionó el problema, aunque cambiar el nombre del servidor a localhost aún da el error.

Error de conexión: SQLSTATE [HY000] [2002] No existe tal archivo o directorio

Pero se conecta con éxito cuando se ingresa la dirección IP para el nombre del servidor.


Usando MAMP cambié el host=localhost a host=127.0.0.1 . Pero llegó un nuevo problema "conexión rechazada"

Resolvió esto poniendo ''port'' => ''8889'' , en ''Datasources'' => [