[Mysql] root 비밀번호 변경하기 (접속 안될 때)

 

 

 

이번에 포트문제로 인해서 mysql 접속을 못해서

 

(관련 내용은 아래 링크 참조)

 

 

2021.10.27 - [에러] - [Mysql] Access denied for user (using password: yes) 에러 재발생 되다가 안될 때 (feat. 3306포트)

 

[Mysql] Access denied for user (using password: yes) 에러 재발생 되다가 안될 때 (feat. 3306포트)

[Mysql] Access denied for user (using password: yes) 에러 재발생 되다가 안될 때 (feat. 3306포트) 해당 글은 일반적인 Access denied for user (using password: yes) 에러 발생과 다른 내용을 다룹니다. 일..

dbsyys.tistory.com

 

 

 

여러가지 이것저것 다 해보다가

 

결국 root 계정까지 막힌적이 있다...

 

 

그러면서 찾게 된 mysql -u root -p 로 root 계정 접근이 안될 때

 

비밀번호 새로 설정하는 방법.

 

 


 

먼저 관리자 권한으로 cmd 창을 연다.

 

그 후 경로를 "mysql.exe"가 있는 파일로 이동 해야하는데

 

where mysql

 

이라는 명령어를 치면 설치된 경로를 알수 있다고 한다.

 

(근데 난 안나와서 그냥 내가 직접 찾아냈다.)

 

 

C:\Program Files\MySQL\MySQL Server 8.0\bin

 

웬만하면 이런 경로에 있다.

 

 

 

*cd를 이용하여 해당 경로로 이동할 때 띄어쓰기가 있는 디렉토리에 접근 하려면 ""로 감싸면 된다*

 

 

해당 경로로 이동 한 후에

 

mysqld.exe --skip-grant-tables --console --shared-memory

명령어를 입력하면

 

 

 

 

일반적으로 발생하지 않는다고 하는데

 

나는 에러가 났다.

 

 

에러난 경로에서

 

 

mysqld --initialize --console

 

명령어를 입력한다.

 

 

 

 

위의 로그를 보면 정상적으로 명령어가 수행되었지만

 

에러가 난다면 해당경로의 상위 폴더에

 

data 폴더를 삭제 후에 다시 실행 시키면 된다고 한다.

 

 

정상적으로 초기화 되었다면

 

mysqld.exe --skip-grant-tables --console --shared-memory

 

아까 위의 명령어를 다시 실행 시켜준다

 

 

 

 

이렇게 실행된 것을 확인했다면

 

관리자 권한으로 새로운 cmd 창을 실행 시킨 뒤에

 

mysql root로 접속한다.

 

 

 

 

 

 

 

mysql -u root -p 로 접속한다.

 

위의 명령어를 입력하면

 

Enter password 라고 비밀번호 입력하는 창이 나오는데

 

초기화 했기때문에 그냥 엔터치고 넘어간다.

 

 

 

 

 

 

select host, user, authentication_string from user;

 

user를 조회 한다.

 

그리고 나서

 

 

 

 

update user set authentication_string=null where user='root';

 

root 비밀 번호를 NULL로 변경했다.

 

 

 

후에 다른 user 정보 변경 하는 것처럼 원하는 비밀 번호로 바꿔서 사용 할 수 있다.

 

 

2021.09.01 - [에러] - [Mysql] Access denied for user (using password: yes) 에러 발생

 

[Mysql] Access denied for user (using password: yes) 에러 발생

[Mysql] Access denied for user (using password: yes) 에러 발생 JPA 공부하면서 뭔가 혼자 해보려고 기존에 쓰던 h2데이터베이스 말고 다른 데이터베이스 뭘 쓸까 하다가 개인적인 작업이기 때문에 mysql 데이.

dbsyys.tistory.com

 

 

 


출처: https://one-step-a-day.tistory.com/141 [매일 성장하는 블로그]

 

출처 : goodteacher.tistory.com/291

 

MySQL root 계정 비밀번호 초기화

MySQL 비밀번호 초기화 데이터베이스를 사용하다가 root 계정의 비밀번호를 분실하는 것은 정말 큰 일이다. 그나마 오라클의 경우 OS인증을 통해 좀 더 쉽게 처리할 수 있지만 MySQL은 갈길이 좀 멀

goodteacher.tistory.com

 

 

 

 

출처 : github.com/TablePlus/DBngin/issues/18

 

 

 

 

[Mysql] Access denied for user (using password: yes) 에러 재발생 되다가 안될 때 (feat. 3306포트)

 

 

 

해당 글은

 

일반적인 Access denied for user (using password: yes)

 

에러 발생과 다른 내용을 다룹니다.

 

일반적인 에러에 관한 내용은 아래 글을 참조하시길 바랍니다.

 

 

2021.09.01 - [에러] - [Mysql] Access denied for user (using password: yes) 에러 발생

 

[Mysql] Access denied for user (using password: yes) 에러 발생

[Mysql] Access denied for user (using password: yes) 에러 발생 JPA 공부하면서 뭔가 혼자 해보려고 기존에 쓰던 h2데이터베이스 말고 다른 데이터베이스 뭘 쓸까 하다가 개인적인 작업이기 때문에 mysql 데이.

dbsyys.tistory.com

 

 


 

 

지난번에 Mysql user의 비밀번호, 권한 문제로 인해 포스팅을 해놓고

 

접속 성공하는 것까지 확인을 했는데

 

아무것도 건들지 않고 시간이 조금흘렀는데..?

 

 

왜 ?

 

 

권한도 확인했고, user, host, 비밀번호도 맞는데...? 

 

지난번에 포스팅 한대로

 

계정 삭제 했다가 권한 다시주고 비밀번호 설정도 하면서 몇번씩 삽질하다가

 

이정도면 뭔가 DB 설치 한것에도 문제가 있나 ? 싶어서

 

디비 삭제 했다가 다시 깔려고도 마음먹었다가

 

뭔가 되었다가 안되는건 다른 문제가인가 싶어서 검색을 해봤는데

 

...

 

긴말 안하고 이미지로 보여 드리겠습니다.

 

 

 

 

 

 

 

 

 

 

 

결론적으로 보면 mysql에서는 3306번 포트를 쓰는데

 

그 포트를 쓰는 프로세스가 겹치기 때문에 발생한 일 !

 

 

위의 창은

 

3306번 포트를 사용하는 곳의 PID가

 

8432와 6820인데 (이건 매번 바뀝니다)

 

 

  1. (윈도우버튼) + R을 누르고 "resmon.exe"을 검색하면 현재 사용하는 포트를 확인 할 수 있고
  2. Ctrl + Shift + Esc를 누르고 서비스 탭을 보게되면 PID로 해당하는 내용을 확인할 수 있다.

 

 

1번의 경우

 

 

 

 

8432번은 mysqld.exe로 mysql 실행하는 프로세스이니

 

이건 이상한게 아니고

 

그럼 6820번 ?

 

 

2번의 경우로 찾아보겠다.

 

 

wampstac...? 이게 무엇 ?

 

구글링 해 보았다.

 

 

 

 

 

글을 좀 찾아보니 mysql 설치할 때 

 

bitnami WAMP를 이용해서 설치를 도와주는 프로그램이라고 해야할까 ?

 

 

그래서 지난번에 당장 설치하고는 상관이 없었지만

 

재부팅할 때나 3306포트를 잠깐 껐을 때

 

저 wamp에서 3306포트를 가져갔기 때문에

 

mysql 에서 접속 할 때 되지 않았던 것...

 

 

 

아무튼

 

이유를 알았으니 6820번은 죽여야 한다.

 

여러가지 방법이 있겠지만

 

일단 cmd창을 켜놓았던 관계로

 

 

 

해당 명령어를 사용하여 프로세스를 종료한다.

 

그리고

 

다시 mysql 커넥션을 연결해 보면

 

 

 

 

아 이거때문에 며칠을 삽질했나 모르겠다;

 

집에 있는 PC에는 또 제대로 동작을 해서

 

크게 불편하지 않은 이상 집에 있는 PC로 작업했는데

 

이대로 그냥 둘 수는 없으니..

 

 

일단은 taskkill 명령어로 죽이긴 했지만

 

wamp 프로세스가 재부팅 시에 또 3306 포트를 가져갈 수 있으니 

 

삭제해야겠다.

 

 

아무튼 해결 !

 

 

 

+ Recent posts