티스토리 뷰

Access denied for user 'root'@'localhost' (using password: YES)'

입력한 비밀번호가 틀렸다는 에러

비밀번호 초기화 과정에서 발생한 문제로 새롭게 비밀번호를 초기화하기로 했다.

 

 

1. 서버 중지

mysql.server stop

 

 

2. 권한 없이 서버 재시작

sudo mysqld_safe --skip-grant-tables

 

--skip-grant-tables 옵션: root 인증 없이 MySQL 서버에 접근할 수 있다.

 

 

3. root 계정에 접근 후 비밀번호 변경

새로운 터미널 창을 열어 MySQL을 실행한다.

mysql -u root

update mysql.user set authentication_string=null where user='root';
flush privileges;

mysql 버전 8.0 부터는 alter user 를 이용하여 비밀번호를 변경해야 하는데

--skip-grant-tables 옵션으로는 alter user 문이 실행이 안되기 때문에 임시로 일단 비밀번호를 NULL 로 바꾸어준다!

 

비밀번호 변경 후 flush privileges 를 통해 변경된 권한을 설정해준다.

 

 

4. MySQL 재시작 후 비밀번호 변경

mysql.server restart

mysql -u root;
alter user 'root'@'localhost' identified with caching_sha2_password by '변경할 비밀번호';

 

 

5. 서버 재접속하여 비밀번호 변경되었는지 확인

mysql -u root -p

 

 

 

+ MAC 서버 접속 명령어

brew services start mysql

 

 

 

 

반응형