👀 1. 사용자 조회
SELECT user, host, plugin FROM mysql.user;
👉 현재 MySQL에 등록된 사용자 목록을 보여줍니다.
➕ 2. 사용자 추가 (CREATE USER)
CREATE USER '사용자이름'@'호스트' IDENTIFIED BY '비밀번호';
예시:
CREATE USER 'alice'@'localhost' IDENTIFIED BY 'secure1234';
🔐 localhost: 로컬에서만 접속 가능
%: 모든 IP에서 접속 가능 (주의해서 사용!)
mysql 의 비밀번호 정책
1️⃣ 현재 비밀번호 정책 확인
MySQL은 validate_password 플러그인을 사용하여 비밀번호 강도를 체크합니다.
현재 설정된 정책을 확인하려면 다음을 실행하세요:
SHOW VARIABLES LIKE 'validate_password%';
이 명령어는 비밀번호 최소 길이, 필수 문자 종류 등을 보여줍니다.
2️⃣ 비밀번호 요구 조건
기본적으로 MySQL의 비밀번호 정책은 다음과 같은 기준을 요구할 수 있습니다:
- 최소 길이 (validate_password_length)
- 숫자 포함 (validate_password_number_count)
- 소문자 포함 (validate_password_lowercase_count)
- 대문자 포함 (validate_password_uppercase_count)
- 특수 문자 포함 (validate_password_special_char_count)
예를 들어, 일반적인 강력한 비밀번호는 대소문자, 숫자, 특수 문자를 포함한 8자 이상이어야 합니다.
3️⃣ 비밀번호 정책 완화 (선택 사항)
비밀번호 정책이 너무 엄격할 경우 완화할 수 있습니다. 예를 들어 최소 길이를 변경하고 싶다면:
SET GLOBAL validate_password_length = 6;
SET GLOBAL validate_password_policy = LOW;
요런식으로 각 항목 변경
4️⃣ 변경 사항 적용 후 사용자 생성
비밀번호 정책을 확인한 후, 기준을 충족하는 비밀번호를 설정하여 사용자 계정을 생성하면 정상적으로 처리될 것입니다.
🎯 3. 권한 부여 (GRANT)
GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '사용자이름'@'호스트';
예시:
GRANT ALL PRIVILEGES ON mydb.* TO 'alice'@'localhost';
👉 mydb라는 DB에 대해 모든 권한 부여
필요한 권한만 주고 싶다면:
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'alice'@'localhost';
변경 사항 적용하려면 꼭 실행:
FLUSH PRIVILEGES;
❌ 4. 사용자 삭제 (DROP USER)
DROP USER '사용자이름'@'호스트';
예시:
DROP USER 'alice'@'localhost';
🔧 기타 유용한 명령어
비밀번호 변경
ALTER USER 'alice'@'localhost' IDENTIFIED BY 'newpassword123';
사용자 권한 확인
SHOW GRANTS FOR 'alice'@'localhost';
✅ 실전 예시 한 방 정리
-- 사용자 생성
CREATE USER 'devuser'@'%' IDENTIFIED BY 'devpass';
-- 권한 부여 (모든 DB 권한)
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%' WITH GRANT OPTION;
-- 변경사항 적용
FLUSH PRIVILEGES;
-- 사용자 권한 보기
SHOW GRANTS FOR 'devuser'@'%';
-- 사용자 삭제
DROP USER 'devuser'@'%';
CREATE USER 'devuser'@'%' IDENTIFIED BY 'devpass';
-- 권한 부여 (모든 DB 권한)
GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%' WITH GRANT OPTION;
-- 변경사항 적용
FLUSH PRIVILEGES;
-- 사용자 권한 보기
SHOW GRANTS FOR 'devuser'@'%';
-- 사용자 삭제
DROP USER 'devuser'@'%';
'mysql' 카테고리의 다른 글
| MySQL에서 사용할 수 있는 주요 데이터 타입 (1) | 2025.04.22 |
|---|---|
| MYSQL 비밀번호 설정과 ROOT 로그인 설정 (0) | 2025.04.22 |
| MySQL 기본 명령어 정리 (0) | 2025.04.21 |
| 파이썬으로 mysql 연동 예제 (0) | 2025.04.21 |
| MYSQL 설치 (0) | 2025.04.19 |