[DBMS] MySQL, MariaDB 데이터베이스 &유저 생성

ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)

MariaDB 데이터베이스 생성 및 삭제, 이름 변경 방법 그리고 유저 생성과 삭제에 대해 간단히 알아 보겠습니다.

MariaDB 데이터베이스 생성과 삭제

먼저 데이터베이스 목록을 조회합니다.

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

MariaDB [(none)]>

데이터베이스 생성

test01로 데이터베이스를 생성합니다.

MariaDB [(none)]> create database test01;
Query OK, 0 rows affected (0.007 sec)

데이터베이스 삭제

MariaDB [(none)]> drop database test01;
Query OK, 0 rows affected (0.007 sec)

데이터베이스 이름 변경

test01 데이터베이스를 test02로 변경하고 싶은 경우 test02 데이터베이스를 먼저 생성해야 합니다.

먼저 mysqldump로 test01 백업 파일을 생성합니다.

mysqldump -u root -p test01 > test01.sql

test02로 복원합니다.

mysqldump -u root -p test01 > test01.sql
dump의 사전상 의미는 "한 개 컴퓨터 유닛에서 다른 컴퓨터 유닛으로 저장된 자료를 옮겨 넣는 것"으로 dump 뜻 그대로 데이터를 쌓는 것이라고 할 수 있습니다.

MariaDB 유저 생성 및 권한 부여

데이터베이스 생성이 되었다면, 데이터베이스에 접근할 유저를 생성해 줘야 합니다.

먼저 user 조회를 해 보겠습니다. MariaDB를 사용하지만 MySQL DataBase와 User 사용으로 설정되어 있습니다. user 테이블의 host, user, password 조회를 할 경우 mysql 사용으로 변경해 줘야 합니다. my.cnf 설정에서 [mysqld] 설정이 아닌 [mariadb] 설정으로 변경한 후에 select 쿼리문으로 정보를 확인할 수 도 있습니다.

MariaDB [(none)]> use mysql;

Database changed
MariaDB [mysql]> select host, user, password from user;
+-------------------------------------------------+-------------+-----------------------------------+
| Host                                            | User        | Password                                  |
+-------------------------------------------------+-------------+-----------------------------------+
| localhost                                       | mariadb.sys |                                           
| localhost                                       | root        | invalid                                   
| localhost                                       | mysql       | invalid                                   
| localhost                                       | test01     |*C29896FE281F13DDF5E340BCF0EB634CA5 |
| localhost                                       | test02     |*C29896FE281F13DDF5E340BCF0EB634CA5 |
+-------------------------------------------------+-------------+------------------------------------+
8 rows in set (0.001 sec)

MariaDB [mysql]>

사용자(user) 생성

create user 사용자ID; 쿼리로 기본 사용자를 추가할 수 있습니다.

MariaDB [(none)]> CREATE USER test01;

# 내부 접근 사용자 추가 및 패스워드 설정 #
CREATE USER@localhost IDENTIFIED BY '비밀번호';
MariaDB [(none)]> 
CREATE USER test01@'localhost' IDENTIFIED BY '비밀번호';

# 외부접근 사용자 추가 및 패스워드 설정 #
CREATE USER ID@'%' IDENTIFIED BY '비밀번호';

# 특정 ip접근만 허용 및 패스워드 설정 #
CREATE USER@'192.168.0.1' IDENTIFIED BY '비밀번호';

# 특정 대역대만 허용 및 패스워드 설정 #
CREATE USER@'192.168.%' IDENTIFIED BY '비밀번호';

접근 권한 설정: 사용자 생성과 권한을 한번에 생성합니다.

접근 권한이 설정되어 있지 않으면 접근 시 에러가 발생하기 때문에 접근 권한을 설정해 줘야 합니다. GRANT ALL PRIVILEGES ON 쿼리로 접근 권한과 유저 생성을 동시에 하는 것이 더 빠를 수 있습니다.

호스트는 보통 로컬호스트 설정을 하며, 경우에 따라 특정 IP, 내부 및 외부 IP 설정을 사용자 생성에서의 설정 옵션처럼 적용해서 사용할 수 있습니다.

GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO 사용자@'호스트' IDENTIFIED by '바꿀 DB패스워드';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON test01.* TO test01@'localhost' IDENTIFIED by '비밀번호';

사용자 삭제

사용자 삭제 방법은 두가지입니다.

DROP USER '유저ID';
DELETE FROM USER WHERE USER ='유저ID';

권한 삭제(사용자 남기기) 및 권한 확인

사용자는 남기고 권한 삭제를 진행하는 경우입니다.

권한을 부여하는데 GRANT TO 를 사용하였다면 권한을 제거하기 위해서는 REVOKE FROM을 사용합니다.

REVOKE ALL ON DB명.테이블명 FROM 사용자아이디;

## 사용자의 모든권한 삭제 ##
REVOKE ALL ON *.* FROM 사용자아이디;

show grants for 사용자아이디@localhost;
a white seal with blue text

Similar Posts

  • DB Query | SQL Statement(SQL 문) | 쿼리문 | 기본 문법

    DB QuerySQL Statement(SQL 문)는 MySQL, MariaDB 등과 같은 데이터베이스 관리 시스템(DBMS:Database Management System: DBMS)에서 사용되며, MySQL Query, SQL 명령어, SQL 쿼리, Mysql 명령어 등 다양한 형식으로 불리고 있습니다. 쿼리문은 명령의 역할에 따라 3가지로 분류합니다. 업무를 보면서 당장에 인식하고 사용하지 않더라도 차츰 이해하고 사용한다면 도움이 될 수도 있다고 생각합니다. 목차MariaDB 데이터베이스 생성과 삭제데이터베이스 생성데이터베이스…

  • MySQL: Grant All Privileges 쿼리문

    MySQL에서 ‘Grant All Privileges’ 명령어는 유저가 데이터베이스에 접근할 수 있는 권한을 부여할 때 사용합니다. test라는 데이터베이스의 모든 테이블(*)에 testuser가 외부에서의 접근을 허용하는 것을 의미합니다. 목차MariaDB 데이터베이스 생성과 삭제데이터베이스 생성데이터베이스 삭제데이터베이스 이름 변경MariaDB 유저 생성 및 권한 부여사용자(user) 생성접근 권한 설정: 사용자 생성과 권한을 한번에 생성합니다.사용자 삭제권한 삭제(사용자 남기기) 및 권한 확인Grant All Privileges…

  • SQL: 테이블 구조, 쿼리(Query), 저장 프로시저(3가지 분류)

    목차MariaDB 데이터베이스 생성과 삭제데이터베이스 생성데이터베이스 삭제데이터베이스 이름 변경MariaDB 유저 생성 및 권한 부여사용자(user) 생성접근 권한 설정: 사용자 생성과 권한을 한번에 생성합니다.사용자 삭제권한 삭제(사용자 남기기) 및 권한 확인✅ SQL이란? SQL(Structured Query Language)은 구조화된 질의 언어의 뜻을 가지고 있습니다. 구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어입니다. 관계형 데이터베이스는 정보를 표 형식으로…

  • 버전별 MySQL 루트 비밀번호 변경 방법 5.6&5.7 이상

    서버의 MySQL 루트 비밀번호 변경 시 MySQL 버전에 따라 변경 방식이 다를 수 있습니다. 버전별 MySQL 루트 비밀번호 변경 방법에 대해 알아 보겠습니다. 목차MariaDB 데이터베이스 생성과 삭제데이터베이스 생성데이터베이스 삭제데이터베이스 이름 변경MariaDB 유저 생성 및 권한 부여사용자(user) 생성접근 권한 설정: 사용자 생성과 권한을 한번에 생성합니다.사용자 삭제권한 삭제(사용자 남기기) 및 권한 확인✅ 버전별 MySQL 루트…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 6   +   9   =