2014-09-05 3 views
-1

저는 mySQL 데이터베이스에 대한 연결을 사용하는 환상적인 C# 응용 프로그램을 작성했습니다. 응용 프로그램을 개발하는 동안 로컬 컴퓨터에서 mySQL 서버의 인스턴스를 실행하기 만하면 C# 응용 프로그램이 로컬로 연결됩니다. 이제는 데이터베이스를 mySQL 서버의 인스턴스를 실행하는 원격 위치 서버로 전송할 차례입니다.원격으로 mySQL 인스턴스에 연결하는 방법은 무엇입니까?

전체 데이터베이스를 새 서버 PC로 전송할 수 있었지만 지금은 원격으로 연결하려고 시도하고 있지만 여러 문제가 있습니다. 한 가지 문제점은 (http://www.portcheckers.com/의 테스트에 따라) 포트 3306이 차단된다는 것입니다. (pertcheckers에 따르면, 오직 열려있는 포트는 포트 22 (ssh)입니다.

저는 MySQL에별로 좋지 않지만 원격 연결을 만드는 방법을 알아 내려고하고 있습니다. 이 오류 제공

mysql -h ***-SRVR1 -u root -p **** 

: 여기에 지금까지 시도한 것입니다 portcheckers는 포트 (22)가 열려라고 말했다 때문에

Acess denied for user 'OBDC'@'192.168.1.*** 

, 내가 사용하여 연결을 MySQL의 워크 벤치를 사용하여 시도를 " TCIP SSH "옵션을 사용하지 마십시오.

아무도 내가이 연결을 설정할 수 있습니까? 서버 PC에 원격 데스크톱 액세스 권한이 있으며 로컬 컴퓨터에서 연결을 만들고 싶습니다.

또한 아직 원격 액세스를 허용하지 않았습니다. 나는 원격 PC 및 실행에 가서 지금을 시도하고있다 : 즉 그것은 원격 액세스 포트 3306을 열 수있는 정말 나쁜 생각

+1

mysql을 포트 22에 넣으면 서버에 더 이상 ssh 할 수 없습니다. 그러지 마.mysql의 표준 tcp 포트 인 포트 3306을 엽니 다. –

+0

MySQL 워크 벤치는 SSH를 통한 표준 TCP/IP를 통한 연결을 지원합니다. 터널을 만들기 위해 별도의 소프트웨어가 필요하지 않습니다. – lihao

답변

1

을 도움이된다면

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION; 

확인합니다. 너무 위험합니다.

  1. 다음 포트 22에 SSH를 통해 연결하도록 클라이언트를 취득하고, 터널 MySQL의 연결 :

    당신은 세 가지 옵션이 있습니다.

  2. 두 대의 컴퓨터를 동일한 VPN에 연결하여 먼 거리에 있더라도 로컬 연결이있는 것처럼 보입니다.
  3. 둘 사이의 조정 및 필드 데이터베이스 연결에 대한 일종의 웹 서비스를 작성하십시오.

세 번째 것은 복잡하고 힘이 들며 큰 응용 프로그램이 아니며 많은 리소스가있는 경우를 제외하고는 고려 대상이 아닙니다. 나는 처음부터 시작해서 조금 더 탄탄하고 유연한 것을 원한다면 두 번째로 넘어갈 것입니다.

옵션 1을 실행하려면 서버에 별도의 항목을 설치하지 않아도됩니다. 원격 컴퓨터로 ssh 할 수 있는지 확인하십시오 (Windows를 사용하는 경우 클라이언트 측의 putty를 사용하거나 Linux의 경우 클라이언트 명령 행의 ssh). 로그온 할 수있는 경우 문서에서 포트 전달을 확인해야합니다. 기본적으로 일부 로컬 포트 ​​(예 : 8306)를 원격 끝에있는 포트 3306으로 전달해야합니다. 작업을 마치면 ssh을 실행 상태로두고 클라이언트 응용 프로그램에 localhost:8306에 연결하라고 지시합니다. 그것은 마술 적으로 모든 것을 (암호화 된) ssh 터널로 전달하고, 상대방의 포트 3306 (MySQL 서버)에 전달합니다.

+0

나는 옵션 # 1을하고 싶다. 누군가가 나를 도울 수있는 방법이 있습니까? 필요한 연결 문자열 유형이 있습니까? 필자는 원격 서버에 대한 완전한 관리자 권한이 없기 때문에 퍼티와 같은 타사 소프트웨어를 설치하지 않는 것이 좋습니다. –

+0

@JohnAugust 좀 더 자세하게 답변을 편집했습니다. –

+0

@JohnAugust 도움이 되었다면 틱을 클릭하여 답변을 선택하십시오. –

관련 문제