[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
  • 전체
    오늘
    어제
    • 모든 글 보기 (86)
      • Project (22)
      • Java (5)
      • 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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바