MySQL 새로운 User 추가
① MySQL 실행
$ sudo systemctl start mysql
$ mysql -u root -p
② 현재 등록된 User 확인
// 기본 데이터베이스 선택
$ use mysql
// user 확인
$ SELECT user FROM user;
③ 신규 User 생성
원격에서 접속가능한 User를 생성하려면 localhost를 IP로 변경해주면 됨
mysql> CREATE USER 'NEW_USER'@'localhost' IDENTIFIED BY 'password';
mysql> SELECT user FROM user;
만약 위 과정에서 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 에러를 만나는 경우 현재 비밀번호 GLOBAL 변수를 수정해줘야 한다.
mysql> SHOW VARIABLES LIKE 'validate_password%';
현재 password 변수로 설정된 값들을 아래 명령문을 참고해서 자신의 환경에 맞춰 변경하면 된다. 배포 환경에서는 비밀번호 관련 정책을 엄격하게 운용해야 하지만 테스트 단계에서는 상당히 귀찮기 때문에 password 변수를 수정해서 새로운 Test User를 생성할 수 있다.
mysql> SET GLOBAL validate_password.mixed_case_count = 0;
mysql> SET GLOBAL validate_password.policy = LOW;
mysql> SET GLOBAL validate_password.length = 4;
mysql> SET GLOBAL validate_password.number_count = 0;
mysql> SET GLOBAL validate_password.special_char_count = 0;
④ DB 권한 부여
먼저 현재 어떤 계정으로 접속했는지 확인한다. 보통 root 계정이 모든 권한을 가지고 있기 때문에 root 권한으로 변경해줘야 한다.
// 현재 User 확인
mysql> SELECT USER();
// 현재 사용중인 DATABASE 확인
mysql> SELECT DATABASE();
특정 데이터베이스.테이블 사용에 대한 권한을 부여한다.
// DATABASE.TABLE
// TEST_DATABASE의 모든 TABLE 권한을 부여함
mysql> GRANT ALL PRIVILEGES ON TEST_DATABASE.* TO 'NEW_USER'@'localhost';
// 권한 리로드
mysql> FLUSH PRIVILEGES;
마지막으로 부여된 권한을 확인한다.
// 위에서 생성한 User 권한 확인
mysql> show GRANTS FOR 'NEW_USER'@'localhost';
// 현재 접속 User의 권한 확인
mysql> SHOW GRANTS FOR CURRENT_USER;
정상적으로 해당 DB에 대한 모든 권한을 얻어왔다.
⑤ 유저 삭제
mysql> DROP USER 'NEW_USER'@'localhost';
삭제 여부 확인
mysql> SELECT user FROM user;
+------------------+
| user |
+------------------+
| TestDriver |
| debian-sys-maint |
| developerBlog |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
+------------------+
7 rows in set (0.00 sec)
'Programming' 카테고리의 다른 글
[Database] 3개 이상 테이블 LEFT RIGHT JOIN 하기 (GROUP BY 사용) (0) | 2022.05.30 |
---|---|
[Database] MySql User 비밀번호 확인 변경 하는 방법 (0) | 2022.05.30 |
[Database] Schema Query Design 관계형 데이터베이스 설계 방법 (0) | 2022.05.30 |
[Database] Ubuntu 20.04 LTS MySQL 설치하기 (0) | 2022.05.30 |
[Database] SQL(구조화 쿼리) vs NoSQL(비구조화 쿼리) 차이점 (0) | 2022.05.30 |
댓글