2016-07-08 3 views
0

원격 MySQL 데이터베이스에 연결하려고합니다. MySQL 사용자는 모든 IP 주소에서 액세스 할 수 있습니다. 연결하려는 Centos 6.8 VM에 대한 루트 권한이 있습니다.PHP가 지정된 원격 주소 대신 로컬 mysql 데이터베이스에 연결하려고 시도했습니다

예 저는이 문제를 봤는데 지금까지 아무것도 작동하지 않았습니다. 나는 PHP에 익숙하지 않아서 간단 할 수도있다. '/var/lib/mysql/mysql.sock'을 가리키는 경로는 존재하지 않지만 DB가 localhost에 없기 때문에이 소켓을 찾지 않아야한다고 생각합니다. 또한 MySQL 사용자가 허가를 받았는지 이중으로 확인했습니다.

내 코드 :

소켓을 통해 로컬 MySQL 서버에 연결할 수 없습니다 '은/var/lib 디렉토리/mysql을 :

<html> 
<head> 
    <title>PHP Test</title> 
</head> 
<body> 
    <?php 
    $user="myUsername"; 
    $password="myPW"; 
    $database="myDB"; 
    mysql_connect('xxx.x.xx.xx:xxxx',$user,$password); 
    @mysql_select_db($database) or die(mysql_error()); 
    $query="SELECT * from myTable"; 
    mysql_query($query); 
    mysql_close(); 
    ?> 
</body> 
</html> 

오류의 index.php 나는 페이지에 인쇄되는 /mysql.sock '(2)

나는 아파치/로그/error_log에 얻을 오류 :

[Fri Jul 08 06:26:54 2016] [오류] [클라이언트 xxx.xxxxx] PHP 경고 : mysql_connect() : 'xxx.x.xx.xx'의 MySQL 서버에 연결할 수 없습니다. (13) in /var/www/html/index.php 온라인 10

+0

SQL 안전 모드가 활성화되어 있습니까? http://php.net/manual/en/ini.core.php#ini.sql.safe-mode – Sumurai8

+0

[SQL 안전 모드] (http://php.net/manual/en/function.mysql-connect .php), 호스트 매개 변수는 무시됩니다. –

+0

MySQL 서버로 ssh 할 수 있습니까? 'mysql -u username -p' 명령을 내리면 적어도 데이터베이스에 연결할 수 있다고 알려줄 것입니다 ... – Zak

답변

0

selinux를 비활성화하여 작동시킬 수있었습니다. 이것은 내 테스트 상황에 적절하지만 생산을 위해 실제로 PHP를 MySQL에 연결할 수 있도록 selinux를 실제로 구성하는 것이 좋습니다.

관련 문제