프로젝트를 진행할 때,
팀원들에게 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@'%';
실행 결과 :