다른 PC에서 데이터베이스를 연결할 수 없습니다. 이미 방화벽을 비활성화하고 다른 포럼의 지침을 따랐습니다.
데이터베이스를 다른 PC에 연결하려면 소프트웨어 또는 타사 소프트웨어를 설치해야합니까? XAMPP 서버를 사용하고 있습니다.
Dim con As New MySqlConnection("server=192.xxx.x.xxx;port=3306;database=sampledatabase;uid=root")
다른 PC에서 데이터베이스를 연결할 수 없습니다. 이미 방화벽을 비활성화하고 다른 포럼의 지침을 따랐습니다.
데이터베이스를 다른 PC에 연결하려면 소프트웨어 또는 타사 소프트웨어를 설치해야합니까? XAMPP 서버를 사용하고 있습니다.
Dim con As New MySqlConnection("server=192.xxx.x.xxx;port=3306;database=sampledatabase;uid=root")
답변:
귀하의 쿼리에 대한 나의 이해가 정확하다면 (새 설치라고 가정하면 원격으로 루트로 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'@'%';
위의 코드는 몇 가지 작업을 수행합니다.
옵션 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에 대한 크레딧 .
도움이 되었기를 바랍니다.