2015-01-12 6 views
8

Sono sorpreso di non essere stato in grado di trovare una risposta soddisfacente effettuando la ricerca tramite StackOverflow.Avviso PHP: mysqli_connect(): (HY000/2002): Connessione rifiutata

Sto usando PHP5.5 e MAMP (scaricato da here).

Ho uno script di base come questo:

<?php 
$servername = "127.0.0.1"; 
$username = "root"; 
$password = "root"; 

// Create connection 
$conn = mysqli_connect($servername, $username, $password); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
echo "Connected successfully"; 
?> 

e quando ho eseguito questo script ottengo questo errore:

PHP Warning: mysqli_connect(): (HY000/2002): Connection refused in /Applications/MAMP/htdocs/test/test.php on line 7 

C'è qualche problema di configurazione che ho bisogno di creare all'interno di MAMP o PHP?

+0

Che cosa succede se si cambia il nome del server a 'localhost'? Le tue credenziali sono corrette? Porta? –

+0

Ho provato tutte le combinazioni di 'localhost',' 127.0.0.1' e la password di 'root' e la stringa vuota. Le credenziali e la porta dovrebbero essere le impostazioni predefinite fornite con MAMP quando l'ho scaricato in precedenza oggi. – johncorser

+2

connessione rifiutata = mysql non è in ascolto sulla porta 3306, o non è affatto in esecuzione, o non è impostato per consentire connessioni TCP, oppure c'è un firewall che blocca attivamente la porta 3306. –

risposta

14

Nel caso in cui nessun altro arriva da questo problema, la porta di default su MAMP per MySQL è 8889, ma la porta che PHP prevede di utilizzare per MySQL è 3306. Quindi è necessario aprire MAMP, andare alle preferenze e cambiare la porta mysql di MAMP a 3306, quindi riavviare il server mysql. Ora la connessione dovrebbe avere successo con host = localhost, user = root, pass = root.

+0

Non usando MAMP ma quando cambio questo nella stringa 'dsn:' in questa applicazione CodeIgniter su 'config/database.php' per dire' port = 3306' funziona perfettamente. Cosa sta dicendo di cercare la porta MAMP? – IIllIIll

3

A volte è necessario includere mysql db port id nel server in questo modo.

$serverName = "127.0.0.1:3307"; 
0

Devi cambiare il MAMP porta MySQL Database in 8889.

-1

Per me per farlo funzionare di nuovo ho appena cancellato i file

ib_logfile0

e

ib_logfile1

.

da:

/Applications/MAMP/db/mysql56/ib_logfile0 

Mac 10.13.3
MAMP: Versione 4,3 (853)

+0

Sì, eliminare i file raw è sempre una buona idea. Non. –

+0

Ho provato tutto ed è l'unica cosa che ha riavuto il mio Sql Server ... So che non è la cosa migliore da fare ma ha funzionato per me .. – FrancisUster