[EC2 APM 설치] MySQL root 비밀번호 설정 (mysql 임시비밀번호 안될때, root 비밀번호 분실했을 때)

2023. 6. 28. 12:00AWS

728x90

 

[ec2-user@ip-어쩌구저쩌구 ~]$ sudo grep 'temporary password' /var/log/mysqld.log

>> 임시 비밀번호가 로그에 찍힌다고 해서 보러갔는데 (이전 게시물 참고)

아 그걸로 로그인 안되자나~~

 

그래서 root 비밀번호 다시 설정하기 시작함

 

[root@ip-어쩌구저쩌구 ~]# vi /etc/my.cnf

 

skip-grant-tables 추가 후

sudo service mysqld restart

 

mysql -u root -p 다시 접속한 다음에

skip-grant-tables 상태라서 다음 명령어 치고 시작

 

mysql> flush privileges;

 

이 다음 alter user 갈기기 전에 잠깐!!

MySQL 8 부터는 비밀번호 규칙이 엄격해져서

비밀번호 변경시 requirements 안맞으면 커맨드 적용 안됨.

https://atl.kr/dokuwiki/doku.php/mysql_8_%EC%95%94%ED%98%B8_%EB%B3%B5%EC%9E%A1%EC%84%B1_%EC%84%A4%EC%A0%95

 

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> show variables like 'validate_password%';

>> 비밀번호 조건을 참고하세요

+--------------------------------------+--------+

| Variable_name | Value |

+--------------------------------------+--------+

| validate_password.check_user_name | ON |

| validate_password.dictionary_file | |

| validate_password.length | 8 |

| validate_password.mixed_case_count | 1 |

| validate_password.number_count | 1 |

| validate_password.policy | MEDIUM |

| validate_password.special_char_count | 1 |

+--------------------------------------+--------+

 

 

저는 로컬, %까지 다 설정함

 

mysql> alter user 'root'@'localhost' identified by '비밀번호';

Query OK, 0 rows affected (0.00 sec)

 

mysql> create user 'root'@'%' identified by '비밀번호2';

Query OK, 0 rows affected (0.00 sec)

 

db 권한은 알아서들 *.* 하시든 db이름.테이블명으로 제한하시든 자유롭게

mysql> grant all privileges on *.* to 'root'@'%' with grant option;

Query OK, 0 rows affected (0.01 sec)

 

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

 

 

아까 my.cnf에서 grant 스킵 설정했던거 다시 원복~

 

[root@ip-어쩌구저쩌구 ~]# vi /etc/my.cnf

 

skip-grant-tables 삭제 후

sudo service mysqld restart

 

 

 

728x90
반응형