사용자, 권한
사용자
○ 사용자 로그인 (데이터베이스 서버접속)
$ mysql -u 사용자명 -p
Enter password: *************
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 8.0.23 MySQL Community Server - GPL
- root 계정 로그인
$ mysql -u root -p
○ 사용자 생성, 비밀번호 변경, 삭제
-- 생성 --
CREATE USER 'scott' IDENTIFIED BY '1234'; -- user : scott / password : 1234
CREATE USER 'scott'@'localhost' IDENTIFIED BY '1234'; -- localhost : 내부접근만
CREATE USER 'scott'@'%' IDENTIFIED BY '1234'; -- % : 외부접근
-- 비밀번호 변경 --
# mysql 5.x버전
UPDATE USER SET password=PASSWORD('변경할 비밀번호') where user='scott';
# mysql 8.x버전
ALTER USER 'scott'@'localhost' identified with mysql_native_password by '변경할 비밀번호'
-- 삭제 --
DROP user scott;
→ @ 뒷부분은 host임
○ 사용자 확인
# mysql 5.x버전
SELECT host, user, password FROM user;
# mysql 8.x버전
SELECT host, user, authentication_string FROM user;
권한
grant all privileges on *.* to 'scott'@'%';
flush privileges;
→ 모든 DB의 모든 테이블에 모든 권한을 ‘scott’ 에게 부여
grant select, insert, update on DBname.* to 'scott'@'%';
flush privileges;
→ DBname이라는 DB의 모든 테이블에 select, insert, update 권한을 ‘scott’ 에게 부여
revoke all on DBname from 'scott';
flush privileges;
→ DBname이라는 DB의 모든 권한을 ‘scott’으로 부터 철회함
○ 권한 확인
show grants for 'scott'@'localhost';