IT-개발,DB

[MySQL] 로그인 오류 / 비밀번호 재설정

SB리치퍼슨 2021. 2. 10. 10:05

mysql을 docker를 이용한 image에서 container 를 이용한 방법만 사용해서 테스트를 하다보니 

아주 쉽게 사용하고 있었는데.

 mac에 설치해서 DCL 작업을 하는데 에러가 계속나는 것이다. 몇시간을 헤매다가 

반복되는 명령어들 조합으로 처리하는데 root 계정 비밀번호가 드디어 설정되었다.

왜 안되었는지. 왜 되는지 타이밍을 모르겠다. 에러에 도움이 될 만한 것을 기록해 본다.

 

[로그인 오류]

유형 1) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: NO)

- 사용자의 비밀번호가 없을 경우 나타나는 오류 문구, 아래 해결 방법에 있는 명령어들 중 하나를 선택해 입력.

[해결 방법]
1. mysql -u 사용자
2. mysql -u 사용자 -p 비밀번호
3. mysql -u 사용자 -p
Enter password : 비밀번호 입력

위 세 가지 방법 중에서 하나 선택 (3번 방법을 추천, 3번은 명령어 실행 후에 비밀번호 입력 필요함.)

 

유형 2) ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES)

- 사용자의 비밀번호가 틀렸을 경우 나타나는 오류 문구, 아래 해결 방법에 나와있는 명령어들을 입력.

[해결 방법]

mysql > use mysql
mysql > update user set password=password('비밀번호') where user='사용자'; // 비밀번호 변경
mysql > flush privileges; // 변경사항 적용

 

[비밀번호 재설정]

만약에 비밀번호를 잊어버렸을 경우 해결방법에 나와있는 대로 진행하면 된다.

[해결 방법]

mysqld --skip-grant // 인증 없이 mysql 진입

위의 유형 2번처럼 비밀번호 재설정

 

 

 

[비밀번호 변경오류]

ERROR 1348 (HY000): Column 'Password' Is Not Updatable [Mysql,Mariadb 오류]

10.4버전부터는 root 계정이 자동으로 안전하게 생성되기 때문에 설치할때 비밀번호를 요구하지않는다고한다.

root 로했을때는 그냥 mysql하면 된다.

root 접속 후 SET 명령어를 사용해서 간단하게 바꿀 수 있다.

set password = password("password");

다른계정으로 접속하고 싶으면 root 비밀번호를 생성 시키거나 sudo mysql 명령어로 접속하면된다.

 

 

 

반응형