Skills/Database

MySQL DB계정 생성 및 스키마 생성과 권한 추가하기

2021. 7. 27. 21:41
목차
  1. 1. 계정 생성
  2. 2. 스키마 생성
  3. 3. 권한 추가하기
linux cmd에서 DB 계정 생성, 스키마 생성, 권한 추가 방법

mysql 테이블에 대해 CRUD를 하기 위해서는 1) 계정을 생성하고, 2) 스키마(database)를 생성한 후 3) 계정에 대해 스키마에 대한 권한을 추가해야 합니다. 이와 관련된 내용을 정리했습니다.

1. 계정 생성

1) root 계정으로 접속 후 use mysql; 명령으로 mysql 스키마에 접속합니다.

mysql -u root -p

MariaDB [(none)]> use mysql;
Database changed

2) create user ~ 로 계정을 생성합니다. 계정 정보 입력시 host로 표시한 부분의 입력에 따라 외부에서 접근 가능 여부가 달라집니다. 서버가 아닌 외부 DB툴에서 해당 계정으로 DB에 접속하려면 %를 입력해주면 됩니다.

MariaDB [mysql]> create user 'migration'@'%' identified by '#########';
                             ----------   -                -----------
                              계정이름    host               password

3)  user가 잘 생성되었는지 확인하려면 user 테이블을 조회하면 됩니다.

MariaDB [mysql]> select user, host from user;
+-----------+-----------+
| user      | host      |
+-----------+-----------+
| migration | %         |
| root      | 127.0.0.1 |
| root      | ::1       |
| root      | localhost |
+-----------+-----------+

 

2. 스키마 생성

1) root 계정으로 접속합니다.

mysql -u root -p

2) create database ~ 로 스키마를 생성합니다. default character set ~ 부분은 해당 스키마의 캐릭터셋을 설정하는 부분으로 없으면 기본 mysql의 설정을 따라갑니다. 저의 경우 기본 utf8 설정에 이모티콘과 같은 특수문자까지 저장할 수 있도록 utf8mb4 를 선택했습니다.

MariaDB [(none)]> create database migration default character set utf8mb4; 
--> 데이터베이스 스키마 생성 & 기본 캐릭터셋 입력
Query OK, 1 row affected

3) 스키마가 생성되었는지 확인하려면 show databases; 명령을 사용합니다.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| eztalk_hist        |
| information_schema |
| jmocha             |
| migration          |
| mysql              |
| performance_schema |
+--------------------+

 

3. 권한 추가하기

1) root 계정으로 접속합니다.

mysql -u root -p

2) grant [권한목록] privileges on [스키마명].[테이블명] to [계정명]@[host]; 명령으로 권한을 추가합니다.

권한목록의 경우 select, update, delete, insert 권한을 하나씩 주거나 여러개 줄 수 있으며, 전체를 지정하려면 all 을 사용하면 됩니다.

스키마명과 테이블명은 전체를 사용시 *를 사용하며, 하나에 대해 적용할 경우 해당하는 스키마 또는 테이블명을 적으면 됩니다.

MariaDB [mysql]> grant all privileges on migration.* to 'migration'@'%';	
--> migration 계정에 migration 스키마 권한 부여
Query OK, 0 rows affected (0.000 sec)

MariaDB [mysql]> grant all privileges on *.* to 'migration'@'%';	
--> migration 계정에 대해 모든 스키마 권한 부여
Query OK, 0 rows affected (0.000 sec)

 

반응형
  1. 1. 계정 생성
  2. 2. 스키마 생성
  3. 3. 권한 추가하기
'Skills/Database' 카테고리의 다른 글
  • spring data envers
  • RedisCommandExecutionException: ERR invalid expire time in setex 오류와 공식 문서 살펴보기
  • MYSQL 쿼리 실행 속도 분석 및 개선하기
  • [MAC] homebrew로 Mysql 설치시 발생하는 오류 해결 방법
프리미99
프리미99
train hard, big dream
프리미99
Rabbit in the Moon
프리미99
  • 분류 전체보기 (52)
    • Skills (20)
      • Java & Spring (7)
      • Framework (0)
      • Network (0)
      • Database (5)
      • Algorithm (7)
    • Skill Up (29)
      • dlwlrGOGO (7)
      • 우아한유스방 3기 (7)
      • 우아한테크캠프 Pro 4기 (15)
    • Tools (1)
      • Git (0)
      • IDE (1)
    • Project (0)
      • Spring 게시판 프로젝트 (0)
    • Review (2)
      • Seminar (2)
      • BOOK (0)

공지사항

최근 글

최근 댓글

전체
오늘
어제

블로그 메뉴

  • github
  • 글쓰기
  • 관리자
hELLO · Designed By 정상우.
프리미99
MySQL DB계정 생성 및 스키마 생성과 권한 추가하기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.