Loading...
MySQL 9.5 Reference Manual 9.5의 8.2.14 Assigning Account Passwords의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL 서버에 접속하는 클라이언트에 대해 요구되는 자격 증명에는 비밀번호가 포함될 수 있습니다. 이 절에서는 MySQL 계정에 대해 비밀번호를 할당하는 방법을 설명합니다.
MySQL은 자격 증명을 mysql 시스템 데이터베이스의 user 테이블에 저장합니다. 비밀번호를 할당하거나 수정하는 작업은 CREATE USER 권한을 가진 사용자나, 또는 mysql 데이터베이스에 대한 권한을 가진 사용자만 수행할 수 있습니다 (INSERT 권한으로 새로운 계정을 생성하고, UPDATE 권한으로 기존 계정을 수정). read_only 시스템 변수이 활성화되어 있으면, CREATE USER나 ALTER USER 같은 계정 수정 구문을 사용하는 경우 추가로 CONNECTION_ADMIN 권한(또는 사용 중단(deprecated)된 SUPER 권한)이 필요합니다.
여기에서의 설명은 가장 일반적인 비밀번호 할당 구문에 대한 문법만 요약합니다. 다른 가능한 방법에 대한 전체 상세 내용은 Section 15.7.1.3, “CREATE USER Statement”, Section 15.7.1.1, “ALTER USER Statement”, Section 15.7.1.10, “SET PASSWORD Statement”를 참조하십시오.
MySQL은 클라이언트 인증을 수행하기 위해 플러그인을 사용합니다. 자세한 내용은 Section 8.2.17, “Pluggable Authentication”을 참조하십시오. 비밀번호를 할당하는 구문에서, 계정에 연관된 인증 플러그인이 명시된 평문 비밀번호에 대해 필요한 해싱을 수행합니다. 이를 통해 MySQL은 비밀번호를 mysql.user 시스템 테이블에 저장하기 전에 난독화할 수 있습니다. 여기에서 설명하는 구문에 대해서는, MySQL이 명시된 비밀번호를 자동으로 해시합니다. 또한 CREATE USER와 ALTER USER에 대해, 해시된 값을 그대로 리터럴로 명시할 수 있는 문법도 있습니다. 자세한 내용은 해당 구문의 설명을 참조하십시오.
새로운 계정을 생성할 때 비밀번호를 할당하려면, CREATE USER를 사용하고 IDENTIFIED BY 절을 포함합니다:
1CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
CREATE USER는 계정 인증 플러그인을 지정하는 문법도 지원합니다. Section 15.7.1.3, “CREATE USER Statement”를 참조하십시오.
기존 계정의 비밀번호를 할당하거나 변경하려면, ALTER USER 구문을 IDENTIFIED BY 절과 함께 사용합니다:
1ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password';
익명 사용자로 접속한 것이 아니라면, 자신의 계정 이름을 리터럴로 명시하지 않고도 자신의 비밀번호를 변경할 수 있습니다:
1ALTER USER USER() IDENTIFIED BY 'password';
커맨드 라인에서 계정 비밀번호를 변경하려면, mysqladmin 커맨드를 사용합니다:
1mysqladmin -u user_name -h host_name password "password"
이 커맨드가 비밀번호를 설정하는 계정은 mysql.user 시스템 테이블에서 User 컬럼이 user_name 과 일치하고, Host 컬럼이 당신이 접속하는 클라이언트 호스트 와 일치하는 행을 가진 계정입니다.
주의
mysqladmin을 사용하여 비밀번호를 설정하는 것은 보안적이지 않은 방법으로 간주해야 합니다. 일부 시스템에서는, 다른 사용자가 커맨드 라인을 표시하기 위해 호출할 수 있는 ps 같은 시스템 상태 프로그램에 비밀번호가 보이게 됩니다. MySQL 클라이언트는 일반적으로 초기화 과정에서 커맨드 라인 비밀번호 인자를 0으로 덮어씁니다. 그러나 그 값이 보이는 짧은 간격이 여전히 존재합니다. 또한 일부 시스템에서는 이러한 덮어쓰기 전략이 효과가 없어서, 비밀번호가 ps에 계속 보이는 경우도 있습니다. (SystemV Unix 시스템 및 그 외 일부 시스템이 이 문제의 영향을 받을 수 있습니다.)
MySQL 복제를 사용하는 경우, 레플리카가 CHANGE REPLICATION SOURCE TO의 일부로 사용하는 비밀번호는 길이가 사실상 32자까지로 제한된다는 점에 유의해야 합니다. 비밀번호가 더 길면 초과 문자는 잘려 나갑니다. 이는 MySQL 서버 전반에 의해 부과되는 제한 때문이 아니라, MySQL 복제에 특정된 이슈입니다.
8.2.13 When Privilege Changes Take Effect
8.2.15 Password Management