[MySQL] 로그인 오류 / 비밀번호 재설정
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 명령어로 접속하면된다.