자주 쓰지 않아서 커맨드가 자꾸 헷갈린다. 게다가 가벼운 TSDB라 그런지 MySQL 등과 사용방법이 살짝 다르다. (개발사에서는 InfluxQL, InfluxDB SQL-like Query Language이라고 부른다) 나만의 cheating sheet를 만들어 봄. 이하의 가이드는 서버와 클라이언트 모두 버전 1.1.1 기준. 상당한 부분을 https://docs.influxdata.com/influxdb/v1.1/query_language/spec에서 참고하였음.

Auth

Influx client를 실행해보자. 접속은 localhost로.

$ influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 1.1.1
InfluxDB shell version: 1.1.1

자 이제 DB가 뭐가 있나 볼까?

> show databases;
ERR: unable to parse authentication credentials
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".

인증을 안해서 DB 목록을 못봄. 애초에 노인증으로 접근 가능한 DB도 만들어 놓은 적이 없다. 일단 인증을 해야. 인증 ㄱㄱ.

> auth;
username: 홍길동
password:
> show databases;
_internal
길동이DB1
길동이DB2
...

이제 DB 목록이 보인다.

User Management

현재 유저 목록 보기

> show users;
user            admin
----            -----
aaaaa           true
bbbbb           true
ccccc           false

위와 같이 유저 목록을 출력해 줌.

유저 생성

create user <username> with password '<password>';로 생성. 예시로 ddddd라는 계정을 생성해 본다.

> create user ddddd with password 'ddddd';
> show users;
user            admin
----            -----
aaaaa           true
bbbbb           true
ccccc           false
ddddd           false

다시 show users를 해보면 계정이 생성되어 있는 것을 확인 가능. Admin 유저를 생성하고 싶다면 뒤에 with all privileges를 붙인다.

> create user eeeee with password 'eeeee' with all privileges;
> show users;
user            admin
----            -----
aaaaa           true
bbbbb           true
ccccc           false
ddddd           false
eeeee           true

유저 삭제

생성된 유저를 다시 삭제하는 방법은?

> drop user "eeeee";
> show users;
user            admin
----            -----
aaaaa           true
bbbbb           true
ccccc           false
ddddd           false

Database Management

DB 생성

DB를 하나 만들어 보자.

> create database "dbdb";
> show databases;
_internal
길동이DB1
길동이DB2
...
dbdb

생성 쿼리 뒤에 with를 붙이고 옵션을 덕지덕지 달 수 있는데, 자세한 내용은 이 글의 맨 처음에 나오는 링크 참고.

DB 삭제

유저를 삭제할 때와 유사하다.

> drop database "dbdb";
> show databases;
_internal
길동이DB1
길동이DB2
...

Grant Privileges

권한 부여

한 유저에게 생성한 DB의 admin privilege를 부여해보자.

> grant all on "dbdb" to "ddddd";
> show grants for "ddddd";
database        privilege
--------        ---------
dbdb            ALL PRIVILEGES

유저 ddddd의 grants를 뽑아보면 잘 적용되어 있음을 확인할 수 있다.

권한 회수

부여된 권한을 다시 뺏어보자.

> revoke all on "dbdb" from "ddddd";
> show grants for "ddddd";
database        privilege
--------        ---------
dbdb            NO PRIVILEGES

이제 ddddd는 더이상 dbdb DB의 그 어떤 privilege도 가지지 않는다.

카테고리: DB

0개의 댓글

답글 남기기

Avatar placeholder