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 8.x root password 초기화  (0) 2021.08.15
MySQL root 접근 권한 설정  (0) 2014.05.26
MySQL Linux Port 방화벽 설정(3306)  (1) 2014.05.26
yum을 이용한 MySQL 설치  (0) 2014.05.26
1 2 3 4 5 6 7 ··· 69