제이제이
article thumbnail

 

 

💁🏻‍♂️ MySQL의 계정 생성 및 권한 부여


🤔 계정 생성이란?

  • MySQL을 설치하게 되면 가장 먼저 사용하는 계정이 root 계정입니다.

→ root 계정의 경우, 관리자 계정이기 때문에 DB에 대한 모든 권한을 가지고 있습니다.

→ 하지만, 실제 서비스에 사용되는 DB는 DBA가 root 권한을 가지고 있고, DB를 이용하는 개발자 및 사용자들은 역할에 맞도록 권한을 부여 받아 사용합니다.

 

👉🏻 DB 접속 및 계정 조회


  • mysql의 사용자 목록을 조회하기 위해 mysql의 기본 스키마인 mysql안에 user 테이블에서 다음과 같은 명령어를 통해 조회할 수 있습니다.

 

💻 코드

//mysql root 권한 접속
mysql -u root -p

//mysql 스키마 선택
use mysql;

//사용자 목록 조회
select user,host from user;

 

👨🏻‍🏫 추가설명- MySQL 8.0 버전부터의 시스템 계정과 일반 계정의 구분

 

🥈사용자 생성


  • 사용자 생성시에는 create명령어를 사용해서 사용자를 추가할 수 있습니다.

 

💻 코드

create user '사용자'@'host' identified by '비밀번호';

//ex1) 내부 접근을 허용하는 사용자 추가
create user 'test'@'localhost' identified by '0000';

//ex2) 외부 접근을 허용하는 사용자 추가
create user 'test'@'%' identified by '0000';

//ex3) 특정 ip만 접근을 허용하는 사용자 추가
create user 'test'@'123.456.789.100' identified by '0000';

//ex4) 특정 ip 대역을 허용하는 사용자 추가
create user 'test'@'192.168.%' identified by '0000';

 

🥉 사용자 삭제


  • drop 혹은 delete 명령어를 통해, 사용자를 삭제할 수 있습니다.

 

💻 코드

drop user '사용자';
//또는
delete from user where user='사용자';

//예시
drop user 'test'@'localhost';

 

🎮 사용자 권한 부여


  • 사용자에게 권한을 줄 때는 grant 명령어를 통해 권한을 줄 수 있습니다.

 

💻 코드

// 모든 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on *.* to '사용자'@'localhost';

// 특정 데이터베이스의 모든 테이블에 모든 권한을 줌
grant all privileges on DB이름.* to '사용자'@'localhost';

// 특정 데이터베이스의 특정 테이블에 모든 권한을 줌
grant all privileges on DB이름.테이블명 to '사용자'@'localhost';

// 특정 데이터베이스의 특정 테이블에 select 권한을 줌
grant select on DB이름.테이블명 to '사용자'@'localhost';

// 특정 데이터베이스의 특정 테이블에 select, insert 권한을 줌
grant select, insert on DB이름.테이블명 to '사용자'@'localhost';

// 특정 데이터베이스의 특정 테이블의 컬럼1과 컬럼2의 update 권한을 줌
grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';

 

👨🏻‍🏫 추가설명- MySQL 8.0 버전부터의 권한 설정

 

👨🏻‍🏫 추가자료 - 사용자 생성과 권한 부여 한번에 하기(MySQL 8.0 버전에서는 x)

  • MySQL 8.0 버전 부터는 사용자 생성과 권한을 한번에 하기가 불가능합니다.
  • 반면 MySQL 5.7 버전은 사용자 생성과 권한 부여를 한번에 가능합니다.

 

🈷️ 권한 즉시 반영


  • 변경한 권한을 즉시 반영시켜주려면 아래 명령어를 실행시켜주면 됩니다.

 

💻 코드

FLUSH PRIVILEGES;

 

📒 Reference


 

MySQL 사용자(user) 조회, 생성, 제거, 권한 부여

MySQL 사용자(user) 조회 MySQL의 사용자 목록을 조회하기 위해서 MySQL의 기본 스키마인 mysql안에 user 테이블에서 아래와 같은 명령어를 통해 조회할 수 있다. use mysql;# mysql 스키마 선택 select user, host f

computer-science-student.tistory.com

 

Real MySQL 8.0 1권

《Real MySQL》을 정제해서 꼭 필요한 내용으로 압축하고, MySQL 8.0의 GTID와 InnoDB 클러스터 기능들과 소프트웨어 업계 트렌드를 반영한 GIS 및 전문 검색 등의 확장 기능들을 추가로 수록했다.

www.aladin.co.kr

 

'데이터 베이스 > MySQL' 카테고리의 다른 글

MySQL 엔진 아키텍처  (0) 2023.05.21
2. MySQL과 Workbench 설치하기  (0) 2022.11.11
1.DBMS 소개와 MySQL 소개  (0) 2022.11.11
profile

제이제이

@아사비치즈스틱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!