MySQL 설치 후 로그인 시에 Access Denied for 'root'@'localhost' 문제 해결 방법.
아래와 같은 과정으로 터미널에서 진행한다.
철자 틀리지 말고, 각 과정에서 에러가 안뜨는지 확인하면서 차분하게 입력하자!
0) 에러 없이 가능하다면, 다음 명령어를 통해 mysql에 접속한다.
mysql -u root -p
>>password 입력 후 엔터
1) 에러 발생 시, MySQL을 관리자 권한으로 실행
sudo mysql
2) 사용자 정보가 포함된 mysql 데이터베이스 사용
use mysql;
3) 현재 암호 확인 : mysql 버전별로 방법이 상이하다!
SELECT host, user, password FROM user; 또는
SELECT host, user, authentication_string FROM user; 또는
SELECT host, user, authentication_string FROM user;
>> hash 형태로 password가 암호화되어 조회됨을 확인할 수 있다.
4) 비밀번호 변경
UPDATE user SET password=password('바꾸길 원하는 비밀번호 입력') WHERE user = 'root'; 또는
UPDATE user SET authentication_string=password('바꾸길 원하는 비밀번호 입력') WHERE user = 'root'; 또는
ALTER user 'root'@localhost IDENTIFIED WITH mysql_native_password BY '바꾸길 원하는 비밀번호 입력';
5) 변경사항 적용 및 종료
FLUSH PRIVILEGES;
quit