[MySQL] 계정 조회, 계정 생성, 계정 삭제, 권한 조회, 권한 부여, 권한 삭제

2022. 9. 30. 10:40·MySQL

등록된 계정 확인

# mysql 데이터베이스 접근, 최초 한 번만 사용.
use mysql;
-- 등록되어있는 계정 조회. password는 암호화되어 정확한 확인이 불가
SELECT host, user, password FROM user;

계정 생성

-- 사용방법
CREATE user '아이디'@'접근허용 ip' IDENTIFIED BY '비밀번호';

-- local 환경에서만 접근 허용할 때 -> 'localhost'
CREATE user 'temp_id'@'localhost' IDENTIFIED BY 'abcd';

-- 외부 모든 ip에서 접근 허용할 때 -> '%'
CREATE user 'temp_id'@'%' IDENTIFIED BY 'abcd';

-- 외부의 특정 ip만 접근 허용할 때 -> 예시: '192.20.1.1'
CREATE user 'temp_id'@'192.20.1.1 IDENTIFIED BY 'abcd';

-- 외부의 특정 ip 대역만 접근 허용할 때 -> 예시: '192.20.1.1'~'192.20.1.10'
CREATE user 'temp_id'@'192.20.1.%' IDENTIFIED BY 'abcd';

계정 삭제

-- 사용 방법 1 (DDL)
DROP user '아이디'@'접근허용ip';

-- 예시1 (DDL)
DROP user '아이디'@'접근허용ip';

-- 사용 방법 2 (DML)
DELETE FROM user WHERE user='아이디';

권한 부여

-- 사용 방법1: 모든 권한을 부여 (대괄호는 실제 사용X)
GRANT ALL PRIVILEGES ON [스키마이름].[테이블이름] TO '아이디'@'접근허용ip';

-- 예시1: "모든 DB"의 "모든 테이블"에 대한 "모든" 권한 부여
GRANT ALL PRIVILEGES ON *.* TO 'temp_id'@'%';

-- 예시2: 특정 DB의 특정 테이블에 대한 "모든" 권한 부여
GRANT ALL PRIVILEGES ON [스키마이름].[테이블이름] TO 'temp_id'@'%';
-- 사용 방법2: 특정 권한을 부여 (대괄호는 실제 사용X)
GRANT 특정 권한 ON [스키마이름].[테이블이름] TO '아이디'@'접근허용ip';

-- 예시1: 특정 DB의 특정 테이블에 대한 SELECT, UPDATE, INSERT 권한 부여
GRANT SELECT, UPDATE, INSERT ON [스키마이름].[테이블이름] TO 'temp_id'@'%';

-- 예시2: 특정 DB의 특정 테이블의 특정 컬럼에만 UPDATE 권한 부여
GRANT UPDATE(특정 컬럼1, 특정 컬럼2, 특정 컬럼3) ON [스키마이름].[테이블이름] TO 'temp_id'@'%';
-- 수정사항 반영
FLUSH PRIVILEGES;

권한 조회

SHOW GRANTS FOR '사용자명'@'호스트';

권한 삭제

-- 사용 방법 (대괄호는 사용 X)
REVOKE [제거할 권한] PRIVILEGES ON [스키마이름].[테이블이름] FROM '아이디'@'접근허용ip';

-- 예시1: 모든 권한 제거 (특정 DB의 모든 테이블)
REVOKE ALL PRIVILEGES ON TEMP_DB.* FROM 'temp_id'@'192.20.1.1';

-- 예시2: 특정 권한 제거 (특정 DB의 특정 테이블)
REVOKE SELECT PRIVILEGES ON TEMP_DB.TEMP_TABLE FROM 'temp_id'@'192.20.1.1';
-- 수정사항 반영
FLUSH PRIVILEGES;

권한 삭제 (MariaDB)

REVOKE ALL PRIVILEGES, GRANT OPTION FROM '아이디'@'접근허용ip';

'MySQL' 카테고리의 다른 글

[스터디] Real MySQL 8.0 1권 - 5장 트랜잭션과 잠금 정리  (1) 2024.09.23
[MySQL] INSERT 할 때, 마지막 PK 값에서 1씩 증가시키는 방법  (1) 2023.04.27
[MySQL] AUTO_INCREMENT 초기화하는 방법  (2) 2023.04.27
[MySQL] 테이블 내 중복 데이터 삭제  (1) 2023.04.27
[MySQL] 프로세스 확인과 프로세스 죽이기  (2) 2022.09.30
'MySQL' 카테고리의 다른 글
  • [MySQL] INSERT 할 때, 마지막 PK 값에서 1씩 증가시키는 방법
  • [MySQL] AUTO_INCREMENT 초기화하는 방법
  • [MySQL] 테이블 내 중복 데이터 삭제
  • [MySQL] 프로세스 확인과 프로세스 죽이기
옐리yelly
옐리yelly
  • 옐리yelly
    개발 갤러리
    옐리yelly
  • 전체
    오늘
    어제
    • 모든 글 보기 (85)
      • Project (22)
      • Java (4)
      • Spring (8)
      • Kubernetes (6)
      • Docker (2)
      • JPA (3)
      • Querydsl (2)
      • MySQL (9)
      • ElasticSearch (7)
      • DevOps (4)
      • Message Broker (3)
      • Git & GitHub (2)
      • Svelte (1)
      • Python (8)
        • Python Distilled (4)
        • Anaconda (1)
        • Django (0)
        • pandas (3)
      • Algorithm (1)
      • Computer Science (0)
      • 내 생각 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    devops
    성능 테스트
    예약 시스템
    elasticsearch
    ncloud
    docker
    Message Broker
    리팩토링
    커넥션 풀
    데드락
    querydsl
    mybatis
    svelte
    프로젝트
    JPA
    k8s
    Python
    blue-green 배포
    Project
    gitops
    argocd
    RabbitMQ
    OOP
    MySQL
    비사이드
    nks
    pymysql
    Spring
    pandas
    포텐데이
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
옐리yelly
[MySQL] 계정 조회, 계정 생성, 계정 삭제, 권한 조회, 권한 부여, 권한 삭제
상단으로

티스토리툴바