데이터베이스 인스턴스와 계정 생성

코딩하는 꽁지·2023년 10월 22일
0

데이터베이스

목록 보기
3/14
post-thumbnail

데이터베이스 인스턴스 생성

데이터베이스와 SQL

RDBMS는 인스턴스와 그 인스턴스에 접근하기 위한 계정으로 이루어진다.
-> 인스턴스와 계정 모두 SQL 언어로 생성하고 관리할 수 있다.

SQL은 DBMS의 데이터를 관리하기 위해 설계된 구조화된 질의어를 말하며, 목적에 따라 DDL, DML, DCL로 구분한다.

인스턴스 생성/삭제

CREATE DATABASE 인스턴스명;
DROP DATABASE 인스턴스명;
MariaDB [(none)]> create database db1;
Query OK, 1 row affected (0.020 sec)

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| db1                |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.012 sec)

인스턴스 이름은 중복될 수 없음 주의!
인스턴스 삭제 역시 반드시 필요한 상황에서만 해야한다.

데이터베이스 계정 관리

데이터베이스 계정 확인

use mysql;
select Host, User, Password from user;

ERROR 1046 (3D000): No database selected
이런 에러 난다면 use mysql; 안 해줘서 그런 것이다.

데이터베이스 계정 생성

// 로컬 호스트에서만 접속 허용
CREATE USER '계정명'@'localhost' IDENTIFIED BY '패스워드';

// 모든 IP에 접속 허용
CREATE USER '계정명'@'%' IDENTIFIED BY '패스워드';

// 생성하고 난 후
FLUSH PRIVILEGES;

FLUSH 명령어를 더 알고 싶다면 [mariadb] flush 명령어 정리 참고

계정으로 DB에 접속하려면 mysql -u 계정명 -p 하면 된다.

❯ mysql -u testuser1 -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 11.1.2-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test               |
+--------------------+
2 rows in set (0.006 sec)

show databases 결과를 보면, testuser1가 갖고 있는 권한으로는 information_schema와 test 인스턴스에만 접근할 수 있다는 걸 확인할 수 있다.

계정 권한 설정

GRANT ALL PRIVILEGES ON 인스턴스명.* TO '계정명'@'localhost' IDENTIFIED BY '패스워드';
GRANT ALL PRIVILEGES ON 인스턴스명.* TO '계정명'@'%' IDENTIFIED BY '패스워드';
FLUSH PRIVILEGES;

계정 삭제

DROP USER '계정명';

부록. 그 외 계정과 권한에 관하여

MariaDB / 사용자 만들기, 수정하기, 삭제하기, 권한 부여하기, 제거하기

profile
프로그래밍으로 온 세상을 떠들썩 하게~🪼

0개의 댓글