본문 바로가기
코딩/MySQL

MySQL 계정,사용자,권한 관리

by Song1234 2024. 3. 27.

MySQL 사용자

  1. 사용자 추가하기
  • MySQL 8.0 Command Line Client에서 root 계정으로 로그인
  • 접속 가능한 사용자 추가하기
    create user '사용자명'@'localhost' identified by '비밀번호';
    create user 'apple'@'localhost' identified by '1111';
  • 사용자 목록 조회
    use MySQL;
    select user, host from user;
  • 할당 권한 상세 옵션
    create, drop, alter: 테이블에 대한 생성, 삭제, 변경 권한
    select, insert, update, delete: 테이블의 데이터를 조회, 삽입, 변경, 삭제에 대한 권한
    all: 모든 권한
    usage: 권한을 부여하지 않고 계정만 생성grant all on . to 'apple'@'%'; # 모든 ip에서 접근이 가능하다
  • flush privileges;
    변경사항이 즉시 적용됨
  • grant 권한 on 데이터베이스명.테이블명 to '사용자'@'localhost';
    grant all on . to 'apple'@'localhost';
  1. 사용자 삭제하기
    drop user 계정명;
  2. 사용자 권한 조회하기
    show grants for '계정명'@'localhost';
  3. 사용자 권한 제거하기
    revoke 권한명 privileges on . from '계정명'@'localhost';
create database apple;
create table apple.member(select * from kdt.member);

새로운 데이터베이스를 만들고 member 테이블생성

처음 접속하면  패스워드 입력창이 나온다.

접속 후 사용자 생성

# apple.member에 select 권한만 가능한 apple 계정 생성
 create user 'apple'@'localhost' identified by '1111';
 grant select on apple.member to 'apple'@'localhost';
 flush privileges;

 

 

Qurey OK 가 나온다면 성공

 

 

member 테이블에 대한 select 권한만 가진 apple 사용자

# apple 데이터베이스에 모든 권한을 가진 사용자 'superman'을 생성하고 member 테이블에 사용자를 추가
create  user 'superman'@'localhost' identified by '2222';
grant all on apple.member to 'superman'@'localhost';
flush privileges;

 

 

MySQL 8.0 Command Line Client 뿐 아니라 MySQL 안에서도 가능

show grants for 'superman'@'localhost';
revoke all privileges on apple.* from 'superman'@'localhost';
drop user 'superman'@'localhost';

 

워크벤치 첫 화면에서 MySQL connection 옆에 + 를 눌러 새로운 사용자를 추가한다.

사용자 이름을 입력하고 ok

 

사용자를 만들때 설정했던 비밀번호를 입력

 

이후 데이터베이스 연결후 사용자를 추가하면 잘 작동이 된다.

use mysql;
select user, host from user;

mysql 데이터베이스로 변경후

select 을 통해 사용자와 호스트 정보들을 출력 할 수 있다.

 

'코딩 > MySQL' 카테고리의 다른 글

DB를 이용한 단어장 만들기  (0) 2024.03.28
MySQL과 파이썬 연동  (0) 2024.03.28
ER 다이어그램  (0) 2024.03.27
MySQL의 함수  (0) 2024.03.27
MySQL 기본문법  (2) 2024.03.26