접속하기
$ mysql -u root -p
먼저 root 계정으로 접속한다.
사용자 확인하기
mysql> use mysql;
mysql> select host,user from user;
사용자 추가하기
mysql> create user '사용자'@'localhost(또는 %)' identified by '비밀번호';
%는 외부에서의 접근을 허용한다
사용자 삭제하기
mysql> drop user '사용자'@'localhost';
사용자에게 데이터베이스 권한 부여
mysql> grant all privileges on *.* to '사용자'@'localhost';
mysql> grant all privileges on DB이름.* to '사용자'@'localhost';
mysql> grant all privileges on DB이름.테이블명 to '사용자'@'localhost';
mysql> grant select on DB이름.테이블명 to '사용자'@'localhost';
mysql> grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';
이렇게 특정 데이터베이스의 권한을 줄 수도
특정 권한 ex) select 권한만 줄 수도
특정 컬럼에만 update의 권한을 줄 수도 있다.
all privieges 는 모든 권한을
*.*은 모든 데이터베이스의 모든 테이블을 뜻한다.
@뒤에 특정 ip를 설정 할 수 있다.
특정 ip : @'192.168.1.18'
특정 ip 대역대 : @'192.168.1.%'
전체 : @'%'
사용자 생성, 권한 부여 한번에 하기
mysql> grant all privileges on *.* to '사용자'@'localhost' identified by '비밀번호';
이렇게 한번에 사용자 생성과 권한 부여를 할 수 있다.
사용자 권한 삭제하기
mysql> revoke all on DB이름.* from '사용자'@'localhost';
권한 부여와 구조가 같다.
마찬가지로 응용해서 특정한 조건을 줄 수 있다.
변경사항 반영하기
mysql> flush privileges;
사용자 권한 확인하기
mysql> show grants for '사용자명'@'localhost';
'데이터베이스 > MariaDB, MySQL' 카테고리의 다른 글
[MariaDB] VARCHAR와 NVARCHAR / utf8과 utf8mb4 (0) | 2022.04.19 |
---|---|
[MySQL] 느린 쿼리 잡기 - slow_query_log (1) | 2019.08.08 |
[MySQL] 백업하기, mysqldump (3) | 2019.01.02 |