본문 바로가기
my_lesson/_SQL

MySQL user 생성,권한,조회/삭제

by boolean 2014. 12. 29.
728x90
index

[mysql] MySQL user 생성/권한/조회/삭제

간편한 방법

- user 생성 ( 두가지 다 할 것)

create user '아이디'@'localhost' identified by '비밀번호'; (localhost : 로컬 접속만 가능)
create user '아이디'@'%' identified by '비밀번호';   (% : 원격 접속가능)

- user 권한 부여 ( 두가지 다 할 것)

grant select, insert, update, delete, create, drop, alter on 지정DB이름.*to '아이디'@'localhost'; 
grant select, insert, update, delete, create, drop, alter on 지정DB이름.*to '아이디'@'%'; 

기타 옵션 : all privileges : 모든 권한 / *.* : 모든DB / with grant option : 권한위임가능

- user 권한 보기

show grants for '아이디'@'localhost(또는%)';

- 권한 적용

flush privileges;

- 모든 user 보기 , mysql DB의 user table

use mysql; select user from user;

- user 삭제

drop user '아이디'@'접속영역(localhost or %)';

이전방법

MySQL DB 및 계정(USER) 생성과 등록, 외부접근권한 설정(MySQL 5.5)

1. DB 생성
  • mysql> create database DB명;
  • mysql> create database rex_db;
  • 2. DB와 계정(USER) 연결

  • mysql> insert into db (host, db, user, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, grant_priv, references_priv, index_priv, alter_priv) values ('%','DB명','계정', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y' );
  • mysql> insert into db (host, db, user, select_priv, insert_priv, update_priv, delete_priv, create_priv, drop_priv, grant_priv, references_priv, index_priv, alter_priv) values ('%','rex_db','rex', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y' );
  • 3. 계정(USER) 등록

  • mysql> insert into user (host, user, password, ssl_cipher, x509_issuer, x509_subject, authentication_string) values ('%', '계정명', '암호', '', '', '', '');
  • mysql> insert into user (host, user, password, ssl_cipher, x509_issuer, x509_subject, authentication_string) values ('%', 'rex', 'mysql', '', '', '', '');
  • 4. 외부접근권한 설정

  • mysql> grant all privileges on DB명.* to 계정명@'%' identified by '암호' with grant option;
  • mysql> grant all privileges on rex_db.* to rex@'%' identified by 'mysql' with grant option;
  • 참고

  • - 암호 Insert시에 password('암호')로 쿼리를 작성하면 암호화 되어 저장
  • - mysql> flush privileges; <- 변경 내용 적용
  • 외부접근권한 설정시

  • - 특정 USER 계정이 특정한 곳에서만 접속 가능하게 하려면 특정 USER 계정명@'IP주소'로 설정
  • - 모든 DB에 root 권한 을 줄 때는 DB명.* 부분을 *.* 설정
  • - 특정 권한만 사용하게 할때는 ALL PRIVILEGES 부분을 변경
  • (ex: GRANT select, insert, delete, update on *.* to rex@'192.1.1.1' identified by 'mysql' with grant option;)


    'my_lesson > _SQL' 카테고리의 다른 글

    SQL - CREATE INDEX  (0) 2016.02.25
    SQL - CREATE  (0) 2016.02.25
    SQL - INSERT INTO SELECT  (0) 2016.02.25
    SQL - SELECT INTO  (0) 2016.02.25
    MySQL DB 생성/조회/삭제  (0) 2014.12.29

    댓글