[데이터베이스] MySQL vs MSSQL 유저 생성 차이

Narcoker·2025년 9월 2일
0

데이터베이스

목록 보기
21/21

MySQL

  • 유저 생성 시 host 지정 → SQL 수준에서 로컬/원격 구분 가능
  • 같은 이름이라도 로컬용과 원격용 계정 공존 가능
  • 보안성: host 제한으로 접근 제어 가능
-- 직접 접속용 (로컬)
CREATE USER 'user_local'@'localhost' IDENTIFIED BY 'password';

-- 원격 접속용
CREATE USER 'user_remote'@'%' IDENTIFIED BY 'password';
CREATE USER 'user_specific'@'192.168.0.100' IDENTIFIED BY 'password';

MSSQL

  • 로그인 > USER 매핑 (아래 설명)
  • 원격/로컬 구분 없음 → 네트워크(TCP/IP), 방화벽 설정으로 제어
  • 보안성: 서버/인스턴스 설정으로 접근 제어
CREATE LOGIN user_sql WITH PASSWORD = 'password'; 
USE mydb;
CREATE USER user_sql FOR LOGIN user_sql; 
-- 추가: SQL Server 인스턴스에서 TCP/IP 활성화 및 포트 1433 열기

로그인(Login)

서버 수준 계정
SQL Server 인스턴스 전체에서 인증 가능한 ID.

CREATE LOGIN myLogin WITH PASSWORD = 'password';
로그인은 SQL Server 접속 자체를 허용하는 권한만 가진다.
로그인 자체로는 특정 데이터베이스에 접근할 수 없다.

DB 사용자(User)

데이터베이스 수준 계정
로그인과 연결(Mapping)되어야만 해당 DB에 접근 가능.

CREATE USER myUser FOR LOGIN myLogin;
DB 내에서 권한(SELECT, INSERT, UPDATE 등)을 부여받아야 실제 작업 가능.

로그인 없이 DB 사용자는 존재할 수 없고, DB 사용자는 반드시 로그인과 연결되어야 함

[SQL Server Instance] 
     │
     ├── Login1 ──> Database1.User1 (권한: SELECT, INSERT)
     ├── Login1 ──> Database2.User2 (권한: SELECT)
     └── Login2 ──> Database1.User3 (권한: UPDATE, DELETE)
profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글