📕 오늘의 목표

프로젝트를 진행할 때,

팀원들에게 database에 접근 권한을 부여해야하는 경우가 있습니다.

이때, root 계정은 너무나 많은 권한을 가지고 있기에

root 계정의 아이디와 비밀번호를 팀원에게 알려주는 것은 권장되지 않습니다.











그래서 보통은 계정을 따로 생성하여

그 계정에 프로젝트에 필요한 database 권한을 부여하여

database server에 접근할 수 있도록 합니다.









📕 들어가며

그래서 오늘의 목표는 root 계정을 이용해서
1. testdb 생성
2. testuser 생성
3. testuser에게 testdb 권한 부여

입니다.

그럼 순서 대로 진행해볼게요 ^^


















📕 본문

✏️0. 기본코드


# 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; 















✏️1. database 생성


데이터 베이스는 다음과 같이 생성할 수 있습니다.

create database (데이터베이스 이름)

create database testdb;







실행 결과 :








✏️2. user 생성


user는 다음과 같이 생성할 수 있습니다.

create user '유저이름'@'접근위치' IDENTIFIED BY '비밀번호';

CREATE user 'testuser'@'%' IDENTIFIED BY '1111'; 




# 참고: database server 내의 전체 유저 확인
SELECT User FROM mysql.user;








실행 결과 :















✏️3. 권한부여


유저 권한은 다음과 같이 부여할 수 있습니다.

grant all privileges on (데이터 베이스).* to (유저)@'%';

(데이터 베이스의 모든 권한을 유저에게 접속위치에 관계없이 부여하겠다.)


GRANT ALL PRIVILEGES ON testdb.* TO testuser@'%';




실행 결과 :








profile
1.01^365

0개의 댓글