-- DB 접속
mysql -u root -p
mariadb -u root -p

-- 데이터베이스 확인
SHOW DATABASES;

-- 데이터베이스 생성
create database DB명;

-- 계정 조회
use mysql;
select host, user, password from user;

-- 계정 생성
-- create user '계정'@'접속위치' identified by '패스워드';

-- 내부 접속만 허용
create user '계정'@localhost identified by '비밀번호'; 
-- 외부 접속 허용
create user '계정'@'%' identified by '비밀번호';

-- 권한 생성
grant select on '스키마'.* to `계정`@`localhost` identified by '비밀번호';
grant select on '스키마'.* to `계정`@`%` identified by '비밀번호';         

-- 모든 권한 부여
grant all privileges on 'DB명.테이블' to '계정'@'접속위치';
-- grant all privileges on testDB.* to 'sa'@'%';

-- 수정사항 반영 (권한 적용)
flush privileges;

-- 사용자 계정 삭제 '사용자'@'접속위치'
DROP USER '계정아이디'@'접속위치';
-- 예) DROP USER 'testUser'@'%';

권한을 생성할 때 '스키마.select' 을하면 select 권한만 주게 되고,

코드 처럼 '스키마.*' 을 입력하게 되면 모든 권한을 주게 된다. ( *  특정권한만 주길 권장 )

 

스키마.테이블의 경우 특정 테이블에 대한 권한만 부여하게 되고,

스키마.* 를 입력 할 경우 해당 스키마의 모든 테이블에 대한 권한을 부여

 

@뒤에는 '호스트주소(IP)'가 오게 된다. 예)~~~@'127.0.0.1' identified by '비밀번호';

@'localhost'는 로컬 사용자 이고,

@'%' 외부 접근을 모두 허용해주는 것이다. 

따라서, 특정 대역만 열어 주려면 @'192.168.0.1' 이런식으로 권한을 부여해주면 된다.

+ Recent posts