[DB] SQL 기본 : 실습 준비

나무나무·2025년 1월 4일

DB

목록 보기
2/9

기본 구문

  • DB 생성 : CREATE DATABASES [생성할 DB 이름]
  • DB 선택 :USE [사용할 DB 이름]
  • DB 내 Table 생성 : CREATE TABLE [Table명] (userID CHAR(8) NOT NULL PRIMARY KEY , ...)
  • DB 내 Table 삭제 :DROP TABLE IF EXISTS [Table 명]
  • DB 내 Table 확인 : SHOW TABLES FROM [확인할 DB 이름]
  • Table 구조 확인 : DESC [Table명]__ (테이블 속 Column 정보만 확인이 가능)

Root 권한으로 일반 사용자를 생성

  • 실습에 필요한 일반 사용자를 생성, DB에 접근할 수 있는 권한을 부여할 예정.
  • root 계정은 최고 관리자 권한을 갖는 계정이다. 해당 과정으로 모든 작업을 하다가 실수로 중요한 데이터를 삭제하거나 시스템 설정이 변경되는 등의 보안상 위험이 발생할 수 있어 실제 업무에 필요한 최소한의 권한만을 갖는 일반 사용자를 새롭게 만들어 관리 작업 등과 같은 부분에는 관여할 수 없게 만든다.

호스트 / 포트 번호

  • IP 주소 는 각 네트워크에 부여된 고유한 주소이고, 포트 번호는 해당 IP 주소 내에서 사용하는 여러 서비스들을 구분해준다.
  • 실습에서 사용하는 HeidiSQl 에서의 호스트는 MySQL 서버가 위치한 네트워크 주소이다. 내 컴퓨터에 설치된 MySQL 서버에 접근할 때는 127.0.0.1(Local Host) 주소로 접근할 수 있다. 외부 주소의 경우 해당 서버가 존재하는 IP 주소 혹은 도메인 이름이 될 것이다.
  • 기본적으로 MySQL은 포트 번호를 3306을 사용한다. 동일한 IP 주소 내 다른 MySQL 서버에 접속하고 싶을 경우 다른 포트 번호를 이용하면 된다.
  • 필자의 짧은 식견으로 비유했을 때 Host아파트가 있는 주소, Port Number는 그 아파트 단지 내의 동호수가 된다.
-- 사용자 생성
CREATE USER `beyond`@`%` IDENTIFIED BY ‘beyond’;
-- 생성할 사용자의 이름은 `beyond`
-- @는 어디에서 접속할 수 있는지를 정의함. 예를 들어 `beyond` 사용자는 `%`라는 위치에서 접속이 가능하다는 뜻.
-- %는 모든 호스트에 연결 가능하다-는 의미
-- 비밀 번호는 'beyond'

-- 사용자 확인
SELECT HOST, USER, PASSWD FROM mysql.user;
-- SELECT는 기본적으로 현재 사용하는 DB에서만 조회함. 
--> 굳이 DB 변경하지 않고 다른 DB에서 확인하고자 한다면 위와 같이 사

-- beyond 사용자에게 employee_db에 대한 모든 권한을 부여함
GRANT ALL PRIVILEGES ON employee_db.* TO `beyond`@`%`;

-- 권한이 제대로 부여됐는지 확인
SHOW GRANTS FOR `beyond`@`%`;

-- 주어진 모든 권한을 삭제
-- `beyond`@`%`에게 주어진 employee_db에 대한 모든 권한을 삭제하겠다는 내용임. 
REVOKE ALL PRIVILEGES ON employees_db.* TO `beyond`@`%`;

profile
백엔드 개발자 나무입니다

0개의 댓글