Database/MySQL

mysql 8.x root password 초기화

catchv 2021. 8. 15. 22:35
반응형

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