2014-10-08 3 views
0

우분투 램프에서 PHP를 사용하여 MySQL에 연결하려고합니다. phpmyadmin에 로그인 할 수는 있지만 PHP 코드로는 연결할 수 없습니다. 이 코드는 XAMPP에서 잘 작동했습니다.PHP 스크립트를 통해 mysql에 연결할 수 없지만 LAMP UBUNTU의 phpmyadmin에 로그인 할 수 있습니다.

다음 코드

$con=mysql_connect("127.0.0.1","myusername","mypassword"); 
     if (!$con) 
    { 
     die('Could not connect: ' . mysql_error()); 
    }  

을 사용하고 그러나 그것은 문제에 따라 이에 대한 추적 할 수없는 가망 솔루션을 (내가 아는) 다음과 같은 오류 3가

Could not connect: Access denied for user 'root'@'localhost' (using password: YES) 
+0

'사용자 'root'@ 'localhost'(암호 사용 : 예)에 대한 액세스가 거부되었습니다. '는 암호가 잘못되었음을 의미합니다. – Cheery

+0

재생 해 주셔서 감사합니다.하지만 암호를 올바르게 입력 했으므로 동일한 자격 증명으로 phpmyadmin에 로그인 할 수 있습니다. –

+0

phpmyadmin이 어딘가에 연결할 수 있습니다. 그러나이 메시지는 루트가 없거나 비밀번호가 틀린 경우에만 알려줍니다. http://dev.mysql.com/doc/refman/5.1/en/access-denied.html – Cheery

답변

0

을 보여줍니다.

  1. 오픈해야하는 우분투에는 방화벽이 있으며, IPtables에서 액세스 권한을 부여하면됩니다.

    경우/sbin/iptables에 -A INPUT -i eth0를 에 동의 -j 그리고 지금 우리는 우리의 로컬 컴퓨터에서 우리의 서버에 로그인 할 수 있어야한다 -p TCP의 --destination 포트 3306 :

    mysql을 -h255 .112.324.12 -uroot는

  2. 당신은 MySQL의에 대한 액세스 권한을 부여 할 필요가 -pMyPASSWORD : 루트로 https://askubuntu.com/questions/159053/mysql-server-not-accessible-from-remote-machine

    을 좋아하는 편집기로 [mysqld를]에 대한 모양을 당신의 /etc/mysql/my.cnf을 엽니 다 섹션, bind-address 키워드가 있습니다. 이것은 보통 127.0.0.1로 설정되어 있습니다 - "normal"IP 주소와 일치하도록 변경하십시오. 파일을 저장하고 서비스를 다시로드하십시오 (예 : 서비스 mysql restart 사용).

  3. 마지막으로 중요한 것은 mysql의 원격 액세스 :

    GRANT ALL ON mydb. * TO root @ '%'IDENTIFIED BY 'MyPASSWORD';

출처 : http://web.archive.org/web/20120930214828/http://chosencollective.com/technology/how-to-enable-remote-access-to-mysql + 많은 불면의 밤.