문제

PHP의 원격 MySQL 데이터베이스에 연결해야합니다.

구체적으로 나는 이것을 상수로 가지고있다 : define ( "database_server", "localhost"); ...

$db = @mysql_connect(DB_SERVER, DB_USER, DB_PASS);

사이트를 로컬 컴퓨터에 복사하고 싶지만 여전히 기본 데이터베이스에 연결합니다.

이걸 할 수 있나요? 그렇다면 어떻게? 내가 가진 것은 FTP 액세스뿐입니다.

도움이 되었습니까?

해결책

DB의 IP/URL이 필요하고 LocalHost 대신에 넣습니다.
DB 구성이 원격 연결을 허용하고 로컬 네트워크 외부에 허용해야합니다.
DB의 IP를 받으면 (지원 팀이 지원하는 경우 지원 팀이 제공해야 함) 알 수 있습니다.

데이터를 복사하여 컴퓨터에 로컬로 빌드하기 만하면 라이브 데이터를 파괴하지 않으면 Phpmyadmin의 내보내기 탭을 사용하십시오. 데이터가 너무 많지 않다고 생각합니다.
phpmyadmin-> DB를 선택합니다 (왼쪽 프레임에서)-> 내보내기 탭 (상단, 오른쪽 프레임)을 누릅니다.
거기에서 명확해야합니다.
SQL로 내보내고 로컬 컴퓨터 에서이 SQL을 실행할 수 있습니다.

다른 팁

데이터베이스 서버가 원격 연결을 거부하고 있다고 생각합니다. CPANEL이있는 경우 특정 IP 범위를 사용할 수있는 "원격 데이터베이스 액세스"와 같은 섹션이 있습니다.

문제의 데이터베이스를 내보내고 로컬로 가져 오는 것이 좋습니다. 이런 식으로, 당신은 당신이 엉망이되면 라이브 데이터를 파괴하지 않을 것입니다.

대부분의 호스팅 제공 업체는 Phpmyadmin과 같은 DB 인터페이스를 제공합니다. 거기에서 데이터베이스를 내보낼 수 있습니다.

+1 gnud. 개발 작업에 프로덕션 데이터베이스를 사용해서는 안됩니다. ~할 수 있었다 공개 인터넷 인터페이스 (*)에서 외부 액세스를 듣도록 구성하십시오. 마우스의 한 가지 미끄러짐과 중요한 라이브 데이터를 낙서하고 있습니다. 대신 자신의 독립형 개발 서버에서 작업해야하며, 이로 인해 코드 변경을 실시간 서버로 푸시 할 수 있습니다.

(*: 그 자체로는 매우 나쁜 생각입니다. 암호가 너무 약하거나 악용이있는 이전 버전의 MySQL을 실행하면 자동화 된 프로브로 매우 빠르게 해킹 될 것입니다.)

일반적으로 mysqldump dbname > dbdump.sql 명령을 내리고 로컬 서버에서 가져 와서 가져와 가져와 가져와 mysql dbname < dbdump.sql. 사용할 수있는 서버에 MySQL 관리자 웹 인터페이스가 설치 될 수도 있습니다. 그러나 당신이 가진 모든 것이 FTP라면, 당신은 실제로 개발 작업을 수행하는 데 필요한 도구를 제공받지 못했습니다. 비어 있거나 더미 더미 데이터베이스를 가져와 사이트를 테스트 할 수 있는지 확인하십시오.

(더욱이, FTP는 불쾌한 사업입니다 ... 실제로 금세기에는 SFTP를 사용해야합니다.)

가장 간단한 접근법은 가지고 있습니다 DATABASE_SERVER 정의하십시오 database (또는 똑같이 의미있는 것) 및 호스트 파일에 항목을 넣습니다. 로컬 컴퓨터에서 이것은 원격 주소를 가리킬 수 있으며 서버에서는 127.0.0.1을 가리 킵니다.

define('DATABASE_SERVER', database);

Windows에서 사이트 파일은 다음과 같습니다.

c:\windows\system32\drivers\etc\hosts

와 함께:

database <remote_ip>

Linux :

/etc/hosts

와 함께:

database 127.0.0.1

참고 : 원격 DB는 프로덕션 DB입니까? 그렇다면 별도의 Dev DB를 사용하지 않는 한 개발 작업에 원격 DB를 실제로 사용해서는 안됩니다. 심지어 Rogue Dev 쿼리가 원격 DB 리소스를 섭취 할 위험이 없습니다.

업데이트: DOH, FTP 액세스로 제한되었다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top