2015-01-12 2 views
8

StackOverflow를 통해 이미 좋은 답변을 검색하는 것을 찾을 수 없다는 것에 놀랐습니다.PHP 경고 : mysqli_connect() : (HY000/2002) : 연결이 거부되었습니다.

PHP5.5 및 MAMP (here에서 다운로드)를 사용하고 있습니다.

는이 같은 기본 스크립트가 있습니다

<?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"; 
?> 

을 나는이 스크립트를 실행할 때이 오류가 얻을 :

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

내가 MAMP 내에서 설정해야 할 몇 가지 구성 문제가 거기를 또는 PHP?

+0

당신은 무엇을 '로컬 호스트'에 서버 이름을 변경하는 경우? 신임장이 정확합니까? 포트? –

+0

나는'localhost','127.0.0.1'과'root'의 암호와 빈 문자열의 모든 조합을 시도했습니다. 자격증 명과 포트는 오늘 이전에 MAMP와 함께 제공된 기본 설정과 동일해야합니다. – johncorser

+2

connection refused = mysql이 포트 3306에서 수신 중이 아니거나 전혀 실행되지 않거나 TCP 연결을 허용하도록 설정되어 있지 않거나 포트 3306을 적극적으로 차단하는 방화벽이 있습니다. –

답변

14

누구든지이 문제로 인해 발생하는 경우, mysql의 MAMP 기본 포트는 8889이지만 PHP가 mysql에 사용할 포트는 3306입니다. 따라서 MAMP를 열고 환경 설정으로 이동하여 MAMP mysql 포트를 3306으로 변경 한 다음 을 다시 시작해야합니다. 이제 host = localhost, user = root, pass = root를 사용하여 연결에 성공해야합니다.

+0

MAMP를 사용하지 않지만이 CodeIgniter 응용 프로그램의'dsn : '문자열에서'config/database.php'의'port = 3306'으로 변경하면 완벽하게 작동합니다. MAMP 포트를 찾으려면 무엇을 말하고 있습니까? – IIllIIll

3

때로는 서버에 mysql db port id를 포함해야합니다.

$serverName = "127.0.0.1:3307"; 
0

날이 난 그냥 삭제 한 파일을 다시 작동하게하려면 8889.

-1

에 MAMP MySQL 데이터베이스 포트를 변경해야

ib_logfile0

ib_logfile1

.

/Applications/MAMP/db/mysql56/ib_logfile0 

맥 10.13.3
MAMP :에서

버전 4.3 (853)

+0

그래, 원시 파일을 삭제하는 것은 항상 좋은 생각입니다. 아니. –

+0

나는 모든 것을 시도했지만 내 SQL Server를 다시 가지고있는 유일한 방법은 ... 나는 그것이 최선의 방법은 아니라는 것을 알고 있지만 그것은 나를 위해 일했습니다. – FrancisUster

관련 문제