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에서 사용자 관리는 보안을 지키기 위한 중요한 작업입니다. 사용자 계정을 생성하고, 비밀번호 변경 및 권한 부여 등을 통해 데이터베이스의 보안을 강화할 수 있습니다. 관리자는 주기적으로 사용자 계정을 점검하고 필요한 권한을 설정하여 안전한 환경을 구축해야 합니다.
'Database' 카테고리의 다른 글
Database - Chapter 2-13. MySQL 데이터 타입 (0) | 2025.03.19 |
---|---|
Database - Chapter 2-12. MySQL 데이터베이스 Schema 구성 (DDL) (0) | 2025.03.19 |
Database - Chapter 2-7. SQL(Structured Query Language)란? (0) | 2025.03.19 |
Database - Chapter 1-4. RDBMS? (0) | 2025.03.18 |
Database - Chapter 1-2. 데이터베이스란(Database, DB)란? (0) | 2025.03.18 |