Database

Database - Chapter 2-11. MySQL User 데이터

Chansman 2025. 3. 19. 11:30

SET PASSWORD FOR 'username'@'%' = 'new_password';

📚 MySQL User 데이터 관리

🌟 MySQL User 데이터 관리란?

MySQL에서 User 관리는 데이터베이스의 보안을 담당하는 중요한 작업입니다. **관리자 권한(root 권한)**을 사용하여 사용자 생성, 비밀번호 변경, 권한 부여 및 삭제를 진행할 수 있습니다.


🔑 MySQL 유저 작업 (관리자 권한)

1. MySQL 유저 로그인

관리자 권한으로 MySQL에 접속하려면 아래와 같이 로그인합니다.

bash
 
mysql -u root -p

2. MySQL 유저 확인

현재 MySQL에 존재하는 모든 사용자 계정을 확인하려면 다음 명령어를 사용합니다.

sql
 
USE mysql;
SELECT * FROM user;

MySQL 유저 생성 및 비밀번호 관리

3. MySQL 유저 생성

새로운 사용자 계정을 생성하려면 아래와 같은 명령어를 사용합니다.

sql
 
  •  
USE mysql;
CREATE USER 'username'@'localhost' IDENTIFIED BY 'user_password';

4. 사용자 비밀번호 변경

기존 사용자의 비밀번호를 변경하려면 다음 명령어를 사용합니다.

sql
복사
 
  • 'username': 비밀번호를 변경할 사용자 이름
  • 'new_password': 새로 설정할 비밀번호

⚙️ 권한 부여 및 관리

5. 권한 부여 (모든 데이터베이스 권한)

새로 생성한 사용자에게 모든 데이터베이스에 대해 모든 권한을 부여하려면 아래 명령어를 사용합니다.

sql
 
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
FLUSH PRIVILEGES;  -- 변경된 권한 적용
  • GRANT ALL PRIVILEGES: 모든 권한을 부여
  • *.*: 모든 데이터베이스와 테이블에 대해 권한을 부여
  • FLUSH PRIVILEGES: 변경된 권한을 즉시 적용

6. 권한 확인

부여된 권한을 확인하려면 아래 명령어를 사용합니다.

sql
SHOW GRANTS FOR 'username'@'localhost';​
  • SHOW GRANTS: 해당 사용자가 가진 권한을 확인

🧑‍💻 MySQL User 삭제 및 관리

7. 사용자 삭제

MySQL에서 유저를 삭제하려면 아래 명령어를 사용합니다.

sql
 
USE mysql;
DROP USER 'username'@'%';
  • DROP USER: 사용자를 삭제하는 명령어입니다.
  • '%': 모든 호스트에서 접속 가능했던 사용자 계정을 삭제합니다. 특정 호스트만 지정할 수도 있습니다.

📌 주의 사항

  • 사용자 권한 부여: 관리자는 GRANT 명령어로 사용자가 데이터를 조회, 수정, 삭제할 수 있는 권한을 제어할 수 있습니다.
  • 비밀번호 관리: 비밀번호는 강력하게 설정하여 보안상의 위험을 최소화해야 합니다. 또한 주기적으로 변경하는 것이 좋습니다.
  • 권한 갱신: 권한을 변경한 후에는 반드시 **FLUSH PRIVILEGES**를 사용하여 권한을 즉시 반영해야 합니다.

결론

MySQL에서 사용자 관리는 보안을 지키기 위한 중요한 작업입니다. 사용자 계정을 생성하고, 비밀번호 변경권한 부여 등을 통해 데이터베이스의 보안을 강화할 수 있습니다. 관리자는 주기적으로 사용자 계정을 점검하고 필요한 권한을 설정하여 안전한 환경을 구축해야 합니다.