Motive

웹 애플리케이션들은 대개 로컬상의 DB를 이용하는 경우가 많다. 예를 들어 워드프레스는 MySQL을 사용해서 데이터베이스를 관리한다. 지금 이 글도 MySQL 클라이언트로 워드프레스가 설치된 서버에 접속해서 들어가보면 DB의 어느 한 테이블에 내용물이 고스란히 있음을 확인할 수 있다. (암호화는 안되어있었음) 나는 보통 서비스마다 별도의 MySQL 계정과 데이터베이스를 만들어주고 접속은 로컬에서만 가능하도록 설정한다.

환경

노드: 그냥 평범한 데스크탑 (사실은 바로 이 블로그가 돌아가고 있는 서버컴)
OS: 우분투 18.04.2 LTS
MySQL 버전: 5.7.26

Procedure

참고 링크: https://2dubbing.tistory.com/13

i) 접속

$ sudo mysql -u root -p

sudo를 안하니까 root 계정으로 접속이 안된다. 첨엔 비밀번호 잊어버린줄 알았다. 정말 비밀번호를 잊어먹었다면 애도를 표하고 구글 검색을 통해 방법을 찾아 비번 초기화를 진행해야 한다. 물론 -u 옵션 뒤에는 계정명이 들어가게 되고, 굳이 root 계정이 아니더라도 권한 빠방한 계정이 있으면 그거로 접속해도 된다.

ii) 계정 생성

mysql> create user '계정아이디'@localhost identified by '비밀번호';

당연히 별 문제없이 잘 만들어졌겠거니 하면 되고 혹시라도 제대로 계정이 추가되었는지를 조회하고 싶다면,

mysql> use mysql;
mysql> show tables;
mysql> select host, user, authentication_string from user;

를 해보면 MySQL의 유저 목록이 뜬다.

mysql> select host, user, authentication_string from user;
+-----------+------------------+-------------------------------------------+
| host      | user             | authentication_string                     |
+-----------+------------------+-------------------------------------------+
| localhost | root             | *???????????????????????????????????????? |
| localhost | mysql.session    | *???????????????????????????????????????? |
| localhost | mysql.sys        | *???????????????????????????????????????? |
| localhost | debian-sys-maint | *???????????????????????????????????????? |
| localhost | piwigo           | *???????????????????????????????????????? |
| localhost | git              | *???????????????????????????????????????? |
| localhost | redmine          | *???????????????????????????????????????? |
| localhost | openproject      | *???????????????????????????????????????? |
+-----------+------------------+-------------------------------------------+
8 rows in set (0.00 sec)

mysql> 

iii) 데이터베이스 생성

mysql> create database [DB name];

[DB name]의 자리엔 원하는 DB 이름을 적어주면 된다.

iv) 생성한 DB에 권한 부여

mysql> grant all privileges on [DB name].* to '계정아이디'@localhost;

다른 설명의 경우 쿼리 뒤에 identified by 어쩌고 하면서 패스워드를 적으라는 경우도 있는데, 내 경우엔 강력한 root 계정으로 하고있는 중이라 계정의 비밀번호 따윈 필요없이 그냥 되는듯.

카테고리: DB

0개의 댓글

답글 남기기

아바타 플레이스홀더