반응형
mysql 8 community를 설치하면 root 계정의 임시 패스워드가 mysqld.log에 기록되게 됩니다.
grep 'temporary password' /var/log/mysqld.log
하지만 해당 파일이 사라지거나 dockerfile 설치시에는 mysqld.log이 남지 않습니다.
root@localhost의 패스워드를 초기화 해야 합니다.
1. mysqld의 서비스를 중지합니다.
systemctl stop mysqld
2. mysqld의 서비스에 옵션을 설정하여 실행합니다.
mysqld --user=mysql --skip-grant-tables
* --user=mysql : mysqld를 mysql 계정 권한으로 실행합니다. (보통 root나 다른 계정으로 로그인하므로 해당 권한을 할당하여 실행하게 합니다.)
* --skip-grant-tables : 테이블의 모든 권한 없이 실행하게 합니다.
3. mysql client로 접속합니다.
mysql
4. mysql의 권한을 로드합니다.
FLUSH PRIVILEGES;
5. root@localhost 계정의 패스워드를 변경합니다.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
* 신규 패스워드는 validate_password.policy의 정책에 따라서 대소문자 포함 특수문자 포함 등의 규칙을 따라야 합니다.
* 만약 패스워드 정책을 낮게 조정하려면 validate_password.policy=LOW 로 설정합니다.
SET GLOBAL validate_password.policy=LOW;
반응형
'Database > MySQL' 카테고리의 다른 글
docker mysql lower_case_table_names (0) | 2021.08.23 |
---|---|
mysql 8.x error message (0) | 2021.08.15 |
MySQL root 접근 권한 설정 (0) | 2014.05.26 |
MySQL Linux Port 방화벽 설정(3306) (1) | 2014.05.26 |
yum을 이용한 MySQL 설치 (0) | 2014.05.26 |