본문 바로가기
Programming

[Database] MySQL 새로운 유저 추가하는 방법

by 개발자 염상진 2022. 5. 30.

 

 

MySQL 새로운 User 추가

 

① MySQL 실행

$ sudo systemctl start mysql
$ mysql -u root -p

 

② 현재 등록된 User 확인

// 기본 데이터베이스 선택
$ use mysql

// user 확인
$ SELECT user FROM user;

 

 

③ 신규 User 생성

 

원격에서 접속가능한 User를 생성하려면 localhostIP로 변경해주면 됨

 

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)

 

 

 

 

[Database] Schema Query Design 관계형 데이터베이스 설계 방법

스키마(Schema)란? 스키마란 데이터베이스에서 데이터가 쉉되는 방식과 서로 다른 엔티티 간 관계에 대한 설명이다. 데이터베이스의 청사진이라고 할 수 있다. 데이터베이스를 구성하는 데이터

about-tech.tistory.com

 

 

[Database] Ubuntu 20.04 LTS MySQL 설치하기

Ubuntu MySQL Install ① MySQL 설치 $ sudo apt-get update $ sudo apt-get install mysql-server ② MySQL 실행 // MySQL 버전 확인 $ mysql --version // MySQL 실행 $ sudo systemctl start mysql ③ MySQL..

about-tech.tistory.com

 

 

[Database] SQL이란?

SQL이란? SQL(Structured Query Language)는 구조화된 Query언어다. Query언어란 직연하자면 질의문을 의미한다. 구글이나 네이버에서 검색을 치는 행위가 query문이다. 구글이나 네이버 데이터베이스에 저장

about-tech.tistory.com

 

댓글