다른 컴퓨터에서 데이터베이스 연결


0

다른 PC에서 데이터베이스를 연결할 수 없습니다. 이미 방화벽을 비활성화하고 다른 포럼의 지침을 따랐습니다.

데이터베이스를 다른 PC에 연결하려면 소프트웨어 또는 타사 소프트웨어를 설치해야합니까? XAMPP 서버를 사용하고 있습니다.

Dim con As New MySqlConnection("server=192.xxx.x.xxx;port=3306;database=sampledatabase;uid=root")

다른 IP 주소에서 연결할 수 있도록 MySQL DB를 설정 했습니까? 기본적으로 루트 연결은 로컬 호스트에서만 허용됩니다. 외부에서 루트 연결을 허용하는 것은 좋은 생각이 아닙니다 ... (여기서는 틀릴 수 있습니다)
Darius

나는 이해하지 못하지만 그것은 당신이 내 문제를 알고있는 것 같습니다. 연결하는 올바른 구문은 무엇이며 xampp mysql에서 새 사용자를 만듭니다. thank u
JRG

1
구문이 보이면 원격 PC MySQL 인스턴스에 루트로 연결하려고합니까? 일반적으로 루트 로그인은 그 자체로 제한됩니다. 따라서 MySQL이 PC B에서 실행중인 경우 PC B의 루트로만 로그인 할 수 있습니다. 이러한 제한을 제거 할 수 있습니다 ... 정확한 구문을 알기 위해 mySQL을 충분히 사용하지 않습니다. 루트 사용자 제한을 변경하는 방법이나 다른 IP 주소에서 로그인 할 수있는 다른 사용자 이름을 만드는 방법을 찾으십시오. (또는 다른 사용자가 도울 수 있음)
Darius

오, 알다시피 ... SQL 서버를 사용하는 경우 여전히 똑같습니다. 나 또는 링크를 지시하십시오. Tnx buddy
JRG

@Darius, 우리 중 일부는 문법과 서식을 정리했지만 질문은 실제로 무엇을 요구하는지 분명하지 않습니다. 당신은 그것에 손잡이를 가지고있는 것 같습니다. 질문을 이해하기 쉽게 편집 할 수 있습니까? 감사.
fixer1234

답변:


0

귀하의 쿼리에 대한 나의 이해가 정확하다면 (새 설치라고 가정하면 원격으로 루트로 MySQL / MariaDB 데이터베이스에 루트로 로그인 할 수 없습니다)-귀하의 질문에 대답하십시오 No there is no need to install any additional software.

MySQL / MariaDB 설치에 대한 세부 정보를 업데이트해야합니다 (아래 옵션은 MySQL / MariaDB가 설치된 PC에서 수행해야 함).

옵션 1 :
관심있는 데이터베이스에 대해 일부 권한을 가진 새 사용자를 작성하십시오 (아래와 같은 코드 샘플-필요에 따라 편집).

CREATE USER 'someuser'@'%' IDENTIFIED BY 'somepassword';
GRANT USAGE ON *.* TO 'someuser'@'%' IDENTIFIED BY 'somepassword'
CREATE DATABASE IF NOT EXISTS 'someuserdb';
GRANT ALL PRIVILEGES ON 'someuserdb'.* TO 'someuser'@'%';

위의 코드는 몇 가지 작업을 수행합니다.

  1. 비밀번호가 'somepassword'인 'someuser'라는 새 사용자 이름을 작성하고 일부 사용자가 어디서든 로그인 할 수 있도록 허용 ( 'someuser'@ '%')-정확한 세부 정보를 추가하여 원격 IP / 호스트 로그인을 제한 할 수 있습니다. 연결 PC의 IP 또는 호스트 이름으로
  2. 일부 사용자에게 사용 권한 부여 (예 : 사용자 로그인 허용)
  3. someuserdb라는 데이터베이스 작성 (없는 경우)
  4. someuserdb에 대해 someuser에게 모든 권한을 부여하십시오

옵션 2 :
루트 사용자 이름에 대한 원격 로그인 허용

기본적으로 루트는

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'..... 

따라서 루트 계정 로그인은 로컬 호스트 (MariaDB / MySQL 서버가 설치된 PC)에서만 허용됩니다.

다음을 통해 변경할 수 있습니다.

GRANT ALL PRIVILEGES ON *.* TO 'root'@'someIPorHostname.%'
IDENTIFIED BY 'some_characters'  
WITH GRANT OPTION;
FLUSH PRIVILEGES;

아이디어는 'root'@ 'localhost'에서 루트를 선택한 원격 IP 또는 호스트 이름으로 로그인 할 수 있도록 변경하는 것입니다. 해당 액세스 변경이 끝나면 해당 액세스 권한이 DB에 확인되도록 권한을 플러시해야합니다.

참고 : 원격 위치에서 루트 로그인이 허용되지 않는 이유가있을 수 있으므로이 옵션을 사용할 수 있지만 옵션 1을 사용하는 것이 좋습니다.

내 대답의 대부분이 거기에서 왔기 때문에 stackoverflow에 대한 크레딧 .

도움이 되었기를 바랍니다.


내가 볼 오 .. 감사합니다, 거이 한 선생님을 시도 .. 다시 선생님 감사합니다
JRG

그런데 SQL Server에서 다른 PC에서 서버를 어떻게 연결할 수 있습니까? 이미 논의했거나 팁을주는 사이트를 추천 해 주시겠습니까? 다시 한 번 감사드립니다
JRG

나는 당신이 무엇을 요구하는지 잘 모르겠습니다.
Darius

@Darius 경감 님, 이미 문제를 해결하고 문법과 단락에 대해 죄송합니다. 다시 한 번 감사드립니다
JRG
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.