다음을 통해 공유


Linux용 Windows 하위 시스템의 데이터베이스 시작

이 단계별 가이드는 WSL의 프로젝트를 데이터베이스에 연결하기 시작하는 데 도움이 됩니다. MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server 또는 SQLite를 시작합니다.

필수 구성 요소

데이터베이스 시스템 간의 차이점

데이터베이스 시스템에 몇 가지 인기 있는 선택은 다음과 같습니다.

MySQL 데이터 형식이 서로 관련될 수 있는 하나 이상의 테이블로 데이터를 구성하는 오픈 소스 SQL 관계형 데이터베이스입니다. 수직으로 확장할 수 있으며, 이는 하나의 최종 컴퓨터가 작업을 수행한다는 것을 의미합니다. 현재 4개의 데이터베이스 시스템에서 가장 널리 사용됩니다.

PostgreSQL(Postgres라고도 함)는 확장성 및 표준 준수에 중점을 둔 오픈 소스 SQL 관계형 데이터베이스이기도 합니다. JSON도 지금 처리할 수 있지만 일반적으로 전자 상거래 및 금융 거래와 같은 구조적 데이터, 수직 크기 조정 및 ACID 규격 요구 사항에 더 적합합니다.

Microsoft SQL Server Windows의 SQL Server, Linux의 SQL Server 및 Azure의 SQL을 포함합니다. 또한 소프트웨어 애플리케이션의 요청에 따라 데이터를 저장하고 검색하는 기본 기능이 있는 서버에 설정된 관계형 데이터베이스 관리 시스템입니다.

SQLite 메모리가 낮은 환경에서도 이식성, 안정성 및 우수한 성능으로 유명한 오픈 소스 자체 포함 파일 기반 "서버리스" 데이터베이스입니다.

MongoDB JSON을 사용하고 스키마 없는 데이터를 저장하도록 설계된 오픈 소스 NoSQL 문서 데이터베이스입니다. 수평으로 확장할 수 있습니다. 즉, 여러 개의 작은 컴퓨터가 작업을 수행합니다. 유연성과 구조화되지 않은 데이터 및 실시간 분석 캐싱에 적합합니다.

Redis 오픈 소스 NoSQL 메모리 내 데이터 구조 저장소입니다. 문서 대신 스토리지에 키-값 쌍을 사용합니다.

MySQL 설치

WSL에서 실행되는 Linux 배포판에 MySQL을 설치하려면 MySQL 문서의 Linux에 MySQL 설치 지침을 따르세요. 먼저 구성 파일에서 systemd 지원 wsl.conf 할 수 있습니다.

Ubuntu 배포를 사용하는 예제:

  1. Ubuntu 명령줄을 열고 사용 가능한 패키지를 업데이트합니다. sudo apt update
  2. 패키지가 업데이트되면 다음을 사용하여 MySQL을 설치합니다sudo apt install mysql-server
  3. 설치를 확인하고 버전 번호를 가져옵니다. mysql --version
  4. MySQL 서버 시작/상태 확인: systemctl status mysql
  5. MySQL 프롬프트를 열려면 다음을 입력합니다. sudo mysql
  6. 사용 가능한 데이터베이스를 보려면 MySQL 프롬프트에서 다음을 입력합니다. SHOW DATABASES;
  7. 새 데이터베이스를 만들려면 다음을 입력합니다. CREATE DATABASE database_name;
  8. 데이터베이스를 삭제하려면 다음을 입력합니다. DROP DATABASE database_name;

MySQL 데이터베이스 작업에 대한 자세한 내용은 MySQL 문서참조하세요.

VS Code에서 MySQL 데이터베이스를 사용하려면 MySQL 확장사용해 보세요.

포함된 보안 스크립트를 실행할 수도 있습니다. 이렇게 하면 원격 루트 로그인 및 샘플 사용자와 같은 항목에 대한 보안이 낮은 기본 옵션 중 일부가 변경됩니다. 이 스크립트에는 MySQL 루트 사용자의 암호를 변경하는 단계도 포함되어 있습니다. 보안 스크립트를 실행하려면 다음을 수행합니다.

  1. MySQL 서버 시작: sudo service mysql start
  2. 보안 스크립트 프롬프트 시작: sudo mysql_secure_installation
  3. 첫 번째 프롬프트는 MySQL 암호의 강도를 테스트하는 데 사용할 수 있는 VALIDATE PASSWORD 구성 요소를 설정할지 여부를 묻습니다. 간단한 암호를 설정하려면 이 구성 요소를 설정하면 안 됩니다.
  4. 그런 다음 MySQL 루트 사용자에 대한 암호를 설정/변경하고, 익명 사용자를 제거할지 여부를 결정하고, 루트 사용자가 로컬 및 원격으로 로그인하도록 허용할지 여부를 결정하고, 테스트 데이터베이스를 제거할지 여부를 결정하고, 마지막으로 권한 테이블을 즉시 다시 로드할지 여부를 결정합니다.

PostgreSQL 설치

WSL에 PostgreSQL을 설치하려면(예: Ubuntu:

  1. WSL 터미널을 엽니다(예: Ubuntu).
  2. Ubuntu 패키지 업데이트: sudo apt update
  3. 패키지가 업데이트되면 다음을 사용하여 PostgreSQL(및 유용한 유틸리티가 있는 -contrib 패키지)을 설치합니다sudo apt install postgresql postgresql-contrib
  4. 설치를 확인하고 버전 번호를 가져옵니다. psql --version

PostgreSQL이 설치되면 알아야 할 세 가지 명령이 있습니다.

  • 데이터베이스 상태를 확인하는 sudo service postgresql status.
  • sudo service postgresql start 데이터베이스 실행을 시작합니다.
  • 데이터베이스 실행을 중지하려면 sudo service postgresql stop.

postgres기본 관리 사용자는 데이터베이스에 연결하기 위해 할당된 암호가 필요합니다. 암호를 설정하려면 다음을 수행합니다.

  1. sudo passwd postgres 명령을 입력합니다.
  2. 새 암호를 입력하라는 메시지가 표시됩니다.
  3. 터미널을 닫고 다시 엽니다.

PostgreSQL을 psql 셸로 실행하려면 다음을 수행합니다.

  1. postgres 서비스 시작: sudo service postgresql start
  2. postgres 서비스에 연결하고 psql 셸을 엽니다. sudo -u postgres psql

psql 셸을 성공적으로 입력하면 명령줄이 다음과 같이 변경됩니다. postgres=#

메모

또는 다음을 사용하여 postgres 사용자로 전환하여 psql 셸을 열 수 있습니다. su - postgres 다음 명령을 입력합니다. psql.

postgres=#를 종료하려면 다음을 입력합니다. \q 또는 바로 가기 키 사용: Ctrl+D

PostgreSQL 설치에서 생성된 사용자 계정을 확인하려면 WSL 터미널에서 다음을 사용합니다. psql --command="\du"... 또는 psql 셸이 열려 있는 경우 \du. 이 명령에는 계정 사용자 이름, 역할 특성 목록 및 역할 그룹의 멤버 열이 표시됩니다. 명령줄로 다시 나가려면 다음을 입력합니다. q.

PostgreSQL 데이터베이스 작업에 대한 자세한 내용은 PostgreSQL 문서참조하세요.

VS Code에서 PostgreSQL 데이터베이스를 사용하려면 PostgreSQL 확장사용해 보세요.

MongoDB 설치

MongoDB를 설치하려면 Mongodb 문서: Linux에 MongoDB Community Edition 설치 참조하세요.

MongoDB를 설치하려면 설치에 사용되는 Linux 배포판에 따라 약간 다른 단계가 필요할 수 있습니다. 또한 MongoDB 설치는 설치를 목표로 하는 버전 #에 따라 다를 수 있습니다. MongoDB 설명서의 왼쪽 위 모서리에 있는 버전 드롭다운 목록을 사용하여 목표에 맞는 버전을 선택합니다. 마지막으로, WSL에서 사용 중인 Linux 배포판의 구성 파일에서 wsl.conf 활성화해야 할 수도 있습니다. systemctl 명령은 systemd init 시스템의 일부이며 배포에서 systemv를 사용하는 경우 작동하지 않을 수 있습니다.

VS Code는 Azure CosmosDB 확장통해 MongoDB 데이터베이스 작업을 지원합니다. VS Code 내에서 MongoDB 데이터베이스를 만들고 관리하고 쿼리할 수 있습니다. 자세한 내용은 VS Code 문서에서 "MongoDB와의 작업" 섹션을 참조하세요: .

MongoDB 문서에서 자세히 알아보세요.

Microsoft SQL Server 설치

빠른 시작: Sql Server를 설치하고 Linux용 Windows 하위 시스템(WSL 2)데이터베이스를 만듭니다.

SQLite 설치

WSL에 SQLite를 설치하려면(예: Ubuntu:

  1. WSL 터미널을 엽니다(예: Ubuntu).
  2. Ubuntu 패키지 업데이트: sudo apt update
  3. 패키지가 업데이트되면 다음을 사용하여 SQLite3을 설치합니다sudo apt install sqlite3
  4. 설치를 확인하고 버전 번호를 가져옵니다. sqlite3 --version

"example.db"이라는 테스트 데이터베이스를 만들려면 다음을 입력합니다sqlite3 example.db

SQLite 데이터베이스 목록을 보려면 다음을 입력합니다.databases

데이터베이스의 상태를 보려면 다음을 입력합니다. .dbinfo ?DB?

만든 후에는 데이터베이스가 비어 있습니다. CREATE TABLE empty (kol INTEGER);사용하여 데이터베이스에 대한 새 테이블을 만들 수 있습니다.

이제 .dbinfo ?DB? 입력하면 만든 데이터베이스가 표시됩니다.

SQLite 프롬프트를 종료하려면 다음을 입력합니다. .exit

SQLite 데이터베이스 작업에 대한 자세한 내용은 SQLite 문서참조하세요.

VS Code에서 SQLite 데이터베이스를 사용하려면 SQLite 확장사용해 보세요.

Redis 설치

WSL에 Redis를 설치하려면(예: Ubuntu:

  1. WSL 터미널을 엽니다(예: Ubuntu).
  2. Ubuntu 패키지 업데이트: sudo apt update
  3. 패키지가 업데이트되면 다음을 사용하여 Redis를 설치합니다sudo apt install redis-server
  4. 설치를 확인하고 버전 번호를 가져옵니다. redis-server --version

Redis 서버 실행을 시작하려면 sudo service redis-server start

redis가 작동하는지 확인합니다(redis-cli는 Redis와 통신하기 위한 명령줄 인터페이스 유틸리티). redis-cli ping "PONG"의 회신을 반환해야 합니다.

Redis 서버 실행을 중지하려면 sudo service redis-server stop

Redis 데이터베이스 작업에 대한 자세한 내용은 Redis 문서를 참조하세요.

VS Code에서 Redis 데이터베이스를 사용하려면 Redis 확장사용해 보세요.

실행 중인 서비스 보기 및 프로필 별칭 설정

현재 WSL 배포에서 실행 중인 서비스를 보려면 다음을 입력합니다. service --status-all

sudo service mongodb start 또는 sudo service postgres start 입력하고 sudo -u postgrest psql 지루할 수 있습니다. 그러나 WSL의 .profile 파일에 별칭을 설정하여 이러한 명령을 더 빠르고 기억하기 쉽게 만들 수 있습니다.

이러한 명령을 실행하기 위해 고유한 사용자 지정 별칭 또는 바로 가기를 설정하려면 다음을 수행합니다.

  1. WSL 터미널을 열고 cd ~ 입력하여 루트 디렉터리에 있는지 확인합니다.

  2. 터미널 텍스트 편집기 Nano: .profile 사용하여 터미널에 대한 설정을 제어하는 sudo nano .profile 파일을 엽니다.

  3. 파일 맨 아래에(# set PATH 설정을 변경하지 않음) 다음을 추가합니다.

    # My Aliases
    alias start-pg='sudo service postgresql start'
    alias run-pg='sudo -u postgres psql'
    

    이렇게 하면 start-pg을 입력하여 postgresql 서비스를 실행하고, run-pg을 입력하여 psql 셸을 열 수 있습니다. start-pgrun-pg을 원하는 다른 이름으로 변경할 수 있습니다. 단, postgres에서 이미 사용하는 명령을 덮어쓰지 않도록 주의하세요.

  4. 새 별칭을 추가한 후에는 Ctrl+X 사용하여 Nano 텍스트 편집기를 종료합니다. 저장하라는 메시지가 표시되면 Y(예)를 선택하고 Enter 키를 누릅니다(파일 이름을 .profile그대로 둡니다).

  5. WSL 터미널을 닫고 다시 연 다음 새 별칭 명령을 사용해 보세요.

문제 해결

오류: 디렉터리 동기화 fdatasync 잘못된 인수

WSL 2 모드에서 Linux 배포를 실행하고 있는지 확인합니다. WSL 1에서 WSL 2로 전환하는 데 도움이 필요하신 경우, 에서 배포 버전을 WSL 1 또는 WSL 2로 설정하는 방법을 참조하세요.

추가 리소스