좀 더 집중해야 한다는 건 알지만, 이걸 하느라 하루 종일 낭비해서 무슨 일인지 모르겠어요.
사용 가능한 VS Code 확장을 사용하여 원격 MySQL 데이터베이스에 연결하려고 합니다.
MySQL/MariaDB 플러그인, ApexSQL Database Power Tools for VS Code, vscode-database와 함께 SQLTools를 사용해 보았습니다.
모든 문서를 읽었으며 여기와 else-ware에서 예제를 검색했습니다. 내가 찾은 것은 localhost 데이터베이스에 연결하는 것뿐이었습니다.
내가 시도한 모든 조합을 나열하지는 않겠습니다. 왜냐하면 모든 조합을 시도한 것 같기 때문입니다. 가능한 모든 로그인 방법을 사용하십시오.
여러 가지 방법을 사용할 때 가장 큰 문제는 원격 서버 주소와 사용자 이름을 입력할 때입니다. 이 사용자 이름은 항상 다음으로 전송됩니다: username@'93-138-183-84.adsl.net.t-com.hr'
대략적인 93-138-183-84.adsl.net.t-com.hr이 내 현재 IP 주소입니다.
다음 오류가 발생합니다:
으아악다음과 같은 문자열과 샘플 설정을 사용해 보았습니다.
으아악나에게는 아무것도 효과가 없습니다
추신; 데이터베이스의 서버 주소, 사용자, 포트를 확인해보니 내 자격 증명이 잘못된 것은 아닌 것 같습니다. 특정 데이터베이스와 전체 서버에 대해 루트 사용자를 사용해 보았습니다.VS 코드에서 원격 MySQL 데이터베이스에 연결하여 쿼리를 실행할 수 있습니까(만약 그렇다면 무엇과 어떻게?)
저도 같은 문제가 발생하여 마침내 해결했습니다. 호스트 필드에 와일드카드를 사용하도록 mysql 사용자를 설정하십시오. 기본적으로 mysql에서 새 사용자를 설정할 때 사용자의 "host" 필드는 "localhhost"로 설정됩니다. VSC에서 원격 mysql 서버에 연결하려고 하면 "username"@"host"라는 문자열이 전송됩니다. 여기서 "host"는 연결하려는 컴퓨터의 IP 주소입니다. 다음과 같이 mysql 사용자를 설정했는데 연결이 제대로 작동합니다.
"password"로 식별되는 "sammy"@"192.168.0.%" 사용자 생성
이렇게 하면 sammy 사용자가 IP 주소로 지정된 네트워크(이 경우에는 내 내부 네트워크) 내의 어느 곳에서나 mysql에 액세스할 수 있습니다. "%"만 사용하고 IP는 생략하면 사용자가 어디에서나 접속할 수 있습니다.
여기에 모두 있습니다: https://dev.mysql.com/doc/refman/5.7/en/create-user.html
마지막으로 하루 종일 후:
macOS 사용:
시스템에 SSH 키를 이미 추가했으므로 터널만 열면 됩니다. 아래에 설명된 한 줄만큼 간단합니다. SSH 터널을 사용하여 MySQL 데이터베이스에 연결하는 방법
ssh -p 722 -N -L 3306:localhost:3306 user@servername
VS Code의 다음 단계(SQLTools 및 MySQL/MariaDB 플러그인 사용):
서버 주소로
127.0.0.1
를 사용하고 데이터베이스 자격 증명을 입력하세요.그렇습니다.
이제 VS-Code에서 SQL 메서드, SQL 가비지 및 원격 데이터베이스의 모든 테이블과 필드를 자동 완성할 수 있습니다.