DATABASE_URL로 연결

어떤 데이터베이스든 가장 빠르게 연결하는 방법 — URL 문자열 하나를 붙여넣기만 하면 됩니다.

호스트, 포트, 사용자 이름, 비밀번호, 데이터베이스 이름을 별도의 필드에 채우는 대신, DATABASE_URL이라는 단일 문자열을 붙여넣어 어떤 데이터베이스든 연결할 수 있습니다. 가장 빠르게 연결하는 방법이며 대부분의 클라우드 데이터베이스 제공업체는 대시보드에서 바로 복사할 수 있는 URL을 제공합니다.

DATABASE_URL이란?

DATABASE_URL은 데이터베이스 연결을 여는 데 필요한 모든 것을 인코딩한 한 줄의 텍스트입니다. 웹 주소(URL)와 동일한 패턴을 따르므로 읽고 도구 간에 공유하기 쉽습니다.

PostgreSQL DATABASE_URL 예시:

postgresql://myuser:[email protected]:5432/myapp_production

각 부분을 살펴보겠습니다:

부분예시 값의미
엔진postgresql://데이터베이스 유형. 1DevTool이 어떤 드라이버를 사용할지 알려줍니다.
사용자 이름myuser로그인하는 데이터베이스 사용자.
비밀번호mypassword해당 사용자의 비밀번호.
호스트db.example.com데이터베이스가 실행 중인 서버. 도메인 이름 또는 IP 주소일 수 있습니다.
포트5432데이터베이스가 수신하는 네트워크 포트. PostgreSQL의 기본값은 5432입니다.
데이터베이스 이름myapp_production해당 서버에서 연결하려는 특정 데이터베이스(또는 스키마).

이 URL을 1DevTool에 붙여넣으면 각 부분을 자동으로 읽고 모든 연결 필드를 채워줍니다. 수동으로 anything을 입력할 필요가 없습니다.

DATABASE_URL 찾는 방법

모든 클라우드 데이터베이스 제공업체는 대시보드 어딘가에 연결 문자열을 제공합니다. 가장 일반적인 곳에서 찾는 방법:

Supabase 프로젝트 → Project Settings (사이드바의 기어 아이콘) → Database 탭 → Connection String까지 스크롤 → URI 탭 클릭. 표시된 문자열을 복사합니다. postgresql://postgres:[YOUR-PASSWORD]@...supabase.co:5432/postgres와 같은 형태입니다.

Neon Dashboard → 프로젝트 선택 → 오른쪽 패널에서 Connection Details 클릭 → Connection string 복사. Neon은 서버리스 엔드포인트가 있는 postgresql:// URL을 사용합니다.

PlanetScale 데이터베이스 → Connect 클릭 → 프레임워크 드롭다운에서 "Other" 선택 → 연결 문자열 복사. PlanetScale은 SSL 인증서가 내장되거나 매개변수를 통해 필요한 mysql:// URL을 사용합니다.

Railway 프로젝트 열기 → 데이터베이스 서비스 클릭 → Variables 탭 → DATABASE_URL 찾기. Railway는 이 변수를 앱에 자동으로 주입하므로 환경에 이미 있을 수 있습니다.

Heroku 앱 → Settings 탭 → Config Vars까지 스크롤 → DATABASE_URL 찾기. Heroku는 Heroku Postgres 애드온에 대해 이를 자동으로 설정합니다.

로컬 PostgreSQL (자신의 머신에서 실행) PostgreSQL을 로컬에 설치하고 기본값을 변경하지 않았다면 URL은 다음과 같습니다:

postgresql://postgres:password@localhost:5432/mydb

password를 실제 postgres 사용자 비밀번호로, mydb를 생성한 데이터베이스 이름으로 바꾸세요.

로컬 MySQL

mysql://root:password@localhost:3306/mydb

단계별: 1DevTool에서 연결

  1. 1DevTool에서 프로젝트를 연 다음 왼쪽 툴바에서 Database 아이콘(원통 기호)을 클릭하거나 Mac에서 Cmd+D / Windows에서 Ctrl+D를 누릅니다.
  2. 데이터베이스 패널 왼쪽의 연결 레일에서 + 버튼을 클릭합니다. Add Connection이라는 다이얼로그가 열립니다.
  3. 다이얼로그 상단에 **"Paste DATABASE_URL"**이라는 필드가 표시됩니다. 해당 필드를 클릭합니다.
  4. DATABASE_URL을 붙여넣습니다. 붙여넣는 즉시 1DevTool이 URL을 읽고 아래의 Host, Port, User, Password, Database 필드를 자동으로 채웁니다. 실시간으로 채워지는 것을 볼 수 있습니다.
  5. **"Test Connection"**을 클릭합니다. 1DevTool이 데이터베이스에 연결을 시도합니다. 성공하면 녹색 체크 표시와 "Connection successful" 메시지가 표시됩니다.
  6. **"Save"**를 클릭합니다. 연결이 이 프로젝트에 저장됩니다. 다음에 1DevTool을 열 때도 그대로 있습니다.
  7. 테이블과 컬렉션이 왼쪽 사이드바에 표시됩니다. 연결 완료 및 쿼리 준비 완료.

연결 후 데이터베이스 테이블 목록

엔진 옵션을 보여주는 다중 데이터베이스 지원

모든 엔진의 DATABASE_URL 형식

수동으로 구성하거나 검증할 수 있도록 지원되는 모든 엔진의 URL 형식:

# PostgreSQL (Supabase, Neon, Timescale, CockroachDB 포함) postgresql://username:password@host:5432/database # MySQL (MariaDB 포함) mysql://username:password@host:3306/database # Microsoft SQL Server mssql://username:password@host:1433/database # MongoDB (표준) mongodb://username:password@host:27017/database # MongoDB Atlas (클라우드 — SRV 형식 사용) mongodb+srv://username:[email protected]/database # Redis (인증 없음) redis://host:6379 # Redis (비밀번호 있음) redis://:password@host:6379 # TLS/SSL이 있는 Redis rediss://:password@host:6380 # ClickHouse clickhouse://username:password@host:9000/database # Elasticsearch (인증 없음) elasticsearch://host:9200 # Elasticsearch (인증 있음) elasticsearch://username:password@host:9200 # CouchDB couchdb://username:password@host:5984/database

일반적인 연결 오류

테스트 연결이 실패하면 이 표가 문제 원인을 파악하는 데 도움이 됩니다:

오류발생 이유해결 방법
Connection refused데이터베이스가 실행 중이지 않거나 포트 번호가 잘못됨데이터베이스 서버가 시작되었는지 확인합니다. 포트가 DB가 사용하도록 구성된 포트와 일치하는지 확인합니다.
Authentication failed사용자 이름 또는 비밀번호가 잘못됨자격 증명을 다시 확인합니다. 대시보드에서 복사한 경우 공백이 실수로 포함되지 않았는지 확인합니다.
SSL required클라우드 데이터베이스가 암호화된 연결을 필요로 하지만 URL이 요청하지 않음PostgreSQL URL 끝에 ?sslmode=require를 추가하거나 MySQL의 경우 ?ssl=true를 추가합니다.
Unknown host / could not resolve host호스트 이름이 잘못 입력되었거나 머신이 연결할 수 없음호스트 이름의 오타를 확인합니다. 비공개 데이터베이스에 연결하는 경우 VPN이 연결되어 있는지 확인합니다.
Timeout데이터베이스 호스트에 도달할 수 없음 (방화벽 또는 잘못된 IP)IP 주소가 데이터베이스의 허용 목록에 있는지 확인합니다. 대부분의 클라우드 제공업체는 설정에 "Network" 또는 "Trusted IPs" 섹션이 있습니다.

경고: DATABASE_URL을 Git에 커밋하지 마세요. 데이터베이스 비밀번호가 일반 텍스트로 포함되어 있습니다. .env 파일에 저장하고 .env.gitignore에 추가하세요. 실수로 커밋한 경우, 데이터베이스 제공업체 대시보드에서 즉시 비밀번호를 변경하세요.

팁: 1DevTool은 연결 세부정보를 로컬 머신에 암호화하여 저장합니다. 컴퓨터를 떠나지 않으며 어떤 서버로도 전송되지 않습니다.