본문 바로가기
MariaDB

[#1] MariaDB 설치 / DB 및 계정 생성

by 김뽀씨 2016. 12. 20.

-- 1) Database 생성

-- 1-1) 한글 사용을 위해서 기본적은 utf8 사용 필요

CREATE DATABASE db명 CHARACTER SET = 'UTF8' COLLATE = 'utf8_general_ci';


-- 2) 계정 관련

-- 2-1-1) 계정 생성의 경우 '%', 'localhost', 'ip'식의 방식으로 설정이 가능

-- 2-1-2) 동일한 id라고 하더라도 다양한 접속 위치별로 별도 생성 가능

-- 2-1-3) 로그인시 명확하게 접속 위치를 언급해주지 않을 경우 가장 최소한의 접속 위치를 우선적으로 찾아서 접속 (ip -> localhost -> %)

-- 2-1-4) 따라서 운영시에는 명확하게 접속위치를 언급해서 한개의 id만을 생성하는 것이 좋을 것이라 판단

-- 2-1-5) 참 '%'는 모든 외부 사이트에서 접속 가능함을 의미

-- 2-1-6) mariaDB 의 경우 유저 테이블은 mysql이라는 기본 데이터베이스에 존재

-- 2-2) 기존 user 정보 확인 

use mysql;

select * from user;

-- 2-3) 계정 생성

-- 2-3-1) create user 'id'@'접속위치' identified by '비밀번호'

create user '계정명'@'접속위치' identified by '비밀번호';

-- 2-4) 권한 부여

-- 2-4-1) grant all privileges on *.* to 'id'@'접속위치'

grant all privileges on *.* to '계정명'@'접속위치';

-- 2-5) 권한 새로 고침

-- 2-5-1) 쿼리 : flush privileges;

flush privileges;


-- 3) 테이블 생성

-- 3-1) 일반적인 쿼리를 통해서도 생성 가능하나 마법사를 이용해서 생성하는 것이 용이


-- 4) 데이터 삽입, 수정, 삭제

-- 4-1) 기본적인 데이터 삽입, 수정, 삭제 등은 동일하게 수행


-- 5) 민감정보 암호화

-- 5-1) 쿼리 : insert into TB01_USER(CD_ID, CD_PW) values ('1',hex(aes_encrypt('1',sha2('password',512))));

insert into TB01_USER(CD_ID, CD_PW) values ('1',hex(aes_encrypt('1',sha2('password',512))));


-- 6) 민감정보 복호화

-- 6-1) 쿼리 : select aes_decrypt(unhex(passwd),sha2('password',512)) from TB01_USER;

select CD_ID, aes_decrypt(unhex(CD_PW),sha2('password',512)) AS CD_PW from TB01_USER;


-- 7) 암/복호화 

-- 7-1) 암/복호화의 경우 테이블 암호화도 존재하나 10.1.4 에서 주로 사용되고 기본적인 오버헤드 10% 이상을 사용

-- 7-2) 하지만 10.1.4 버전은 현재 BETA 버전이기 때문에 HALO 시스템에서는 데이터 암/복호화로 가는 것이 좋다고 판단

-- 7-3) 또한 현재 SHA1 의 경우 치명적 문제점이 존재하여 현재 사용을 금하고 있는 상황, HALO에서는 SHA2 방식으로 적용 


-- 8) 프로시저 생성

-- 8-1) 마법사를 통해서 생성이 유리

-- 8-2) SQLINE.COM에서 SQLINE CONVERT라는 TOOL를 사용하여 자동 변환 기능 사용해도 무방

-- 8-2-1) SQLINE MIGRATION라는 TOOL도 제공하지만 해당 기능은 유료 / SQLINE CONVERT는 무료

-- 8-3) 단, 일부 함수들은 수기로 확인 후 작업 필요!


-- 9) 닷넷에서 MariaDB 접근

-- 9-1)