First Starters
[MySQL] root 비밀번호 변경 in Windows10 본문
인터넷에 나와있는 cmd창을 이용한 비밀번호 변경은 몇 번을 시도해도 실패했다.
(결국 모든 oracle 및 db 관련 파일 삭제 후, 재설치로 해결)
아래 접은글이 실패한 변경 방법이다. 참고용으로 남겨두었다.
1. MySQL 서비스 종료
※ 서비스 종료 이전에 작업관리자(ctrl + alt + delete)에서 mysql관련 모든 작업을 종료하기도 한다.(필수아님)
2. MySQL80 중지
3. cmd 창을 관리자 권한으로 연다.
4. 본인 로컬의 mysql 설치 위치로 작업디렉토리를 변경한다. 스크린샷 대로 작성한다.
net stop MySql80
where mysql
cd C:\Program Files\MySQL\MySQL Server 8.0\bin
mysqld --console --skip-grant-tables --shared-memory
net stop MySql80 : 1단계의 서비스 종료와 동일. 반대로 시작은 net start MySql80
where mysql : 본인 로컬의 mysql 설치 위치를 알려준다. 여기서 \mysql.exe 전의 bin까지가 이동할 위치이다.
※ 주의 : cmd창은 복사 후 붙여넣기는 마우스 우클릭으로 한다.
※ 주의 : 이 cmd창은 종료하지 않고 또 다른 cmd창을 관리자 권한으로 한 번 더 실행한다.
※ 주의 : mysqld --console --skip-grant-tables --shared-memory에서 오류가 나는경우, 밑의 출처 참고
5. 위의 cmd창은 닫지 않고, 새로운 cmd창을 관리자 권한으로 실행한다. 스크린샷 대로 작성한다.
(여기에서는 Toor가 변경할 비밀번호)
mysql -u root
use mysql
update user set authentication_string=null where user='root';
select authentication_string from user;
flush privileges;
exit;
mysql -u root
use mysql
alter user 'root'@'localhost' identified with caching_sha2_password by 'Toor';
select authentication_string from user;
flush privileges;
net start MySql80
6. 다시 서비스 mysql 시작
cmd창에서 net start MySql80 해도 된다.
<결과 : 실패>
7. 모든 cmd창 닫고, 새로운 cmd 창을 연다.(관리자 권한 아님)
1) 변경한 비밀번호 Toor로 시도 -실패
2) 기존 비밀번호 1234로 시도 -성공
8. mysql workbentch에서 시도 변경한 비밀번호 Toor로 시도 -실패
9. mysql workbetch 1234로 시도
변경이 제대로 되지 않고 기존의 비밀번호로만 로그인된다.
참고 출처 :
https://goodteacher.tistory.com/291
https://one-step-a-day.tistory.com/141
1. MySQL Workbench를 키고 로그인한다.
2. Query에 아래와 같이 작성한 후, 실행한다. 실행은 Ctrl+Enter로 가능하다.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Toor';
※ 'Toor' : Toor 자리에 변경하고자 하는 비밀번호를 넣는다.
3. cmd창을 열고 아래와 같이 진행한다.
mysql -uroot -p
Enter password: **** //변경한 password 즉, Toor를 입력한다.
마지막으로 잘 root 비밀번호가 변경된 것을 확인할 수 있다.