
프로젝트를 진행할 때,
팀원들에게 database에 접근 권한을 부여해야하는 경우가 있습니다.
이때, root 계정은 너무나 많은 권한을 가지고 있기에
root 계정의 아이디와 비밀번호를 팀원에게 알려주는 것은 권장되지 않습니다.
그래서 보통은 계정을 따로 생성하여
그 계정에 프로젝트에 필요한 database 권한을 부여하여
database server에 접근할 수 있도록 합니다.
그래서 오늘의 목표는 root 계정을 이용해서
1. testdb 생성
2. testuser 생성
3. testuser에게 testdb 권한 부여
입니다.
그럼 순서 대로 진행해볼게요 ^^

# cmd 창
# mysql 접속 코드
# -u 뒤에 유저, -p하고 엔터 누른 후 password 입력
$ mysql -u root -p
# mysql 접속상태
# server내의 database 조회
show databases;
# server내의 sakila database에 접근
use sakila;
# 현재 데이터 베이스 확인
select DATABASE();
# database 내의 table 조회
show tables;
데이터 베이스는 다음과 같이 생성할 수 있습니다.
create database (데이터베이스 이름)
create database testdb;
실행 결과 :


user는 다음과 같이 생성할 수 있습니다.
create user '유저이름'@'접근위치' IDENTIFIED BY '비밀번호';
CREATE user 'testuser'@'%' IDENTIFIED BY '1111';
# 참고: database server 내의 전체 유저 확인
SELECT User FROM mysql.user;
실행 결과 :


유저 권한은 다음과 같이 부여할 수 있습니다.
grant all privileges on (데이터 베이스).* to (유저)@'%';
(데이터 베이스의 모든 권한을 유저에게 접속위치에 관계없이 부여하겠다.)
GRANT ALL PRIVILEGES ON testdb.* TO testuser@'%';
실행 결과 :



