들어가며
해당 방법은 mysql8 버전에서 사용 가능한 방법이다. 예전에도 이 현상때문에 고생한적 있었는데 정리를 해놓지 않아 이번 기회에 제대로 정리해 놓는다. 시작하기전 mysql —version 명령어를 통해 버전 확인 후 아래 순서대로 방법을 따라하자.
1. MySQL 서버 정지
mysql.server stop (brew services stop mysql)
2. 비밀번호 없이 MySQL 접속하기 위한 서버 시작
mysql.server start —skip-grant-tables
3. root 유저로 비밀번호 없이 로그인
mysql -u root
4. mysql 테이블 접근
use mysql; (전체 테이블 보기 - show databases;)
5. 권한 변경
FLUSH PRIVILEGES;
6. 비밀번호 변경
아래 해당 명령어로 비밀번호 변경이 가능하지만 다음과 같은 비밀번호 정책에 맞지 않아 생성이 거부된다 (기본값 MEDIUM)
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’;
show variables like 'validate_password%'; (비밀번호 관련 정책 보기)
해당 명령어를 통해 비밀번호 관련 정책 설정을 볼 수 있다.
MEDIUM은 Length는 물론 숫자, 대문자, 소문자, 특문 모두가 포함되어야 하며 LOW는 Length만 맞춰주면 된다.
간단하게 하고 싶은 경우는 LOW로 낮추면된다.
+ 비밀번호 확인
SELECT authentication_string FROM user WHERE user='root';
7. mysql 나가기
exit
8. mysql 서버 정지
mysql.server stop
9. mysql 다시 시작
mysql.server. start
10 .비밀번호 입력하여 로그인하기
입렵 후 비밀번호 입력하기.
mysql -u root -p
댓글