프로그래밍/DB

MariaDB Database 생성, User 생성, 권한 설정

꾸션 2020. 5. 29. 14:47

MariaDB(MySQL)에서 데이터베이스를 생성하는 방법, 사용자를 추가하는 방법, 데이터베이스에 대한 사용자에게 접근권한을 부여하는 방법에 대해서 살펴보겠습니다.

MariaDB의 태생이 MySQL과 동일하므로 명령어는 거의 똑같습니다.

MySQL에서도 참고하고 사용하여도 됩니다.

 

아래의 명령어를 실행하기에 앞서서 root권한으로 접속합니다.

sudo mysql

 

데이터베이스

데이터베이스를 생성, 확인 그리고 삭제하는 명령어입니다.

 

생성

CREATE DATABASE 데이터베이스명;

-- charset을 변경하는 경우
-- CREATE DATABASE 데이터베이스명 DEFAULT CHARACTER SET utf8;

확인

SHOW DATABASES;

삭제

DROP DATABASE 데이터베이스명;

 

사용자

사용자를 생성, 확인 그리고 삭제하는 명령어입니다.

 

생성

-- 로컬접속 사용자용
CREATE USER '사용자명'@'localhost' IDENTIFIED BY '비밀번호';

-- 외부접속 사용자용
-- CREATE USER '사용자명'@'%' IDENTIFIED BY '비밀번호';

확인

USE mysql;

SELECT HOST, USER, PASSWORD FROM user;

삭제

-- 로컬접속 사용자용
DROP USER '사용자명'@'localhost';

-- 외부접속 사용자용
-- DROP USER '사용자명'@'%';

 

권한 부여

데이터베이스에 대한 접근 권한을 부여하는 방법입니다.

 

생성

-- 로컬접속 사용자용
GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '사용자명'@'localhost';

-- 외부접속 사용자용
-- GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '사용자명'@'%';


-- 또 다른 예시
-- 특정 sql 명령어
-- GRANT SELECT, INSERT, UPDATE, DELETE ON 데이터베이스명.* TO '사용자명'@'localhost';

-- 특정 테이블
-- GRANT ALL PRIVILEGES ON 데이터베이스명.테이블명 TO '사용자명'@'localhost';

확인

SHOW GRANTS FOR 사용자명;

-- 로컬접속 사용자용
-- SHOW GRANTS FOR '사용자명'@'localhost';

-- 외부접속 사용자용
-- SHOW GRANTS FOR '사용자명'@'%';

삭제

-- 로컬접속 사용자용
REVOKE ALL PRIVILEGES ON 데이터베이스명.* FROM '사용자명'@'localhost';

-- 외부접속 사용자용
-- REVOKE ALL PRIVILEGES ON 데이터베이스명.* FROM '사용자명'@'%';

 

갱신

변경된 내용을 적용하는 명령어입니다.

FLUSH PRIVILEGES;