Mariadb 를 이용할때 Super 권한자 User 인 root 를 사용하면 보안에 이슈가 생길 수 있다.
그래서 Application 개발시 Application 에 맞는 db, user 를 생성하고 권한을 부여하는 것으로 개발을 진행하면 된다.
현재 Nifi를 공부하고 있으니 데이터베이스 : nifi_db, User : nifi 를 만들어 보자.
## 환경정보
- Mariadb 10.3.14
1. root 권한으로 접속한다.
-u 옵션은 사용자를 지정, -p 옵션은 패스워드를 지정
mysql -uroot -pchangeme
User 생성시 ERROR 1396 (HY000) 에러코드가 발생하면 이미 User가 존재하는 것이다.
ERROR 1396 (HY000): Operation CREATE USER failed for 'nifi'@'%'
User가 존재하는지 조회
use mysql;
select host, user from user where user = 'nifi';
2. nifi_db database 생성
create database nifi_db character set utf8mb4 collate utf8mb4_unicode_ci;
db를 생성할때 character set을 utf8mb4으로 지정하는 것은 문자열 한글자를 4byte 로 설정하는 것이다.
요즘 모바일기기의 이모티콘이 많아지면서 utf8(3byte)로 지정하면 3byte를 넘어가는 문자열이 제대로 표시 안되는 문제가 발생될 수 있다.
새로 진행되는 프로젝트가 있으면 웬만하면(?) utf8mb4 으로 지정하는 것을 추천한다.
<utf8mb4 관련하여 엄청 좋은 포스팅을 추천>
medium.com/oldbeedev/mysql-utf8mb4-character-set-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0-da7624958624
db 생성확인
show databases like '%nifi%';
3. nifi user 생성 및 권한부여
- 예) grant all privileges on <데이터베이스명>.<테이블명> to <User명>@<접속위치> identified by <접속패스워드>;
- nifi_db.* - nifi_db만 사용할 수 있는 권한을 부여(다른 데이터베이스/테이블의 데이터를 조작하지 말자.)
- 'nifi'@'%' - nifi user에 대해서 '%' 를 부여하면 localhost/외부 모든 곳에서 접속할 수 있는 권한을 부여하는 것이다.
- mariadb 가 설치된 서버에서만 접속을 하고 싶으면 'nifi'@'localhost' 로 지정하면 되지만 application을 개발할때는 개발자PC에서 접속을 해야하기때문에 '%' 로 지정하여 주자.
- identified by 'changeme' 는 접속시 암호를 지정(여기서는 보안에 아주 취약한 changeme로 설정하자.!!;;)
- 권한을 추가한 후 flush privileges 를 꼭 실행하자. - 권한 테이블에서 모든 권한을 다시 로드하는 명령어이다. (https://mariadb.com/kb/en/flush/ 참고)
create user nifi;
grant all privileges on nifi_db.* to 'nifi'@'%' identified by 'changeme';
flush privileges;
4. nifi user로 nifi_db를 접속
mysql -unifi -Dnifi_db -pchangeme
show tables;
5. HeidiSQL Tool 접속
개인적으로 좋아하는 SqlTool - HeidiSQL 을 이용하여 nifi_db 를 접속해보자.
select version(), database(), current_user()
<끄읕>
'Database > Mariadb' 카테고리의 다른 글
[Mariadb] 새로운 INSERT 방법(INSERT INTO SET) (0) | 2022.01.10 |
---|---|
윈도우에서 Mariadb 10.6.3 64bit 버전 설치하는 방법 (0) | 2021.08.04 |
MariaDB Xpand 소개 (2) | 2021.03.15 |
[mariadb] flush 명령어 정리 (0) | 2021.02.04 |
CentOS 7.9에 mariadb 10.3.27를 바이너리 tar.gz 파일로 설치하기 (0) | 2020.12.15 |