현재 진행중인 프로젝트를 위해 MySQL을 연동해야 했다. 지난 학기 수업에서 MySQL을 사용한 경험이 있어 금방 끝날 것 이라 생각했지만... 다시 생각해보니 그건 맥북이었고 현 방학때 주로 쓰는건 윈도우 데스크탑이었다. 그말은 즉 MySQL을 처음부터 설치해야 했다.
지난 수업의 ppt와 나의 흐릿한 기억을 되짚어가며 MySQL 공식 홈페이지에서 최신버전, 8.0.26
버전을 다운받았다. 별 생각없이 당연히 최신 버전을 받았고, 이건 삽질의 시작이었다..ㅎ
Could not acquire management access for administration
RuntimeError: Unable to execute command chcp. Please make sure that the C:\Windows\System32 directory is in your PATH envirnoment vaiable.
8.0.26
버전을 설치 후 워크벤치를 실행했다. Server status
등 상태를 확인하기 위해 여러 기능들을 눌렀지만 위와 같은 오류메세지가 발생했다. 해당 경로는 PATH에 등록되어 있었기에 구글링을 했고, 이 게시물에서 해결책을 찾을 수 있었다. 최신 버전의 에러라고 하여 8.0.20
을 설치했다.
이전 버전을 설치 후 오류1
, 워크벤치에서 접속되지 않았던 부분은 잘 접속되었다. 하지만 접속만 되었지 MySQL에 접속할 수 없었다. 워크벤치에서는 물론 cmd에서도 마찬가지였다.
mysql -h localhost -u root -p
입력 후 패스워드를 입력해도
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
라는 메세지와 함께 접속되지 않았다.
지금 살펴보면 오류1
이후 MySQL을 재설치하면서 기존 MySQL을 제대로 삭제하지 않았다. (아래 부분에서 추가 언급하겠다) 생각해보면 재설치하면서 root 비밀번호 설정 화면 등이 생략됬다던가 하는 다른 점이 있었다.
하여튼, 저 에러메세지를 구글링하니 정말 다양한 내용들이 있었다. 구글링한 내용들을 바탕으로 오류를 해결하려 하니, 이는 또다른 오류로 이어졌다... (여기서부터 정신이 반쯤 나간 ㅎㅎ)
도움을 받은 게시물은 이것이었다. 간단히 말해 MySQL이 실행되고 있지 않아 해당 오류가 발생한다는 것 이었는데, 나는 작업 관리자, 서비스에서 애초에 MySQL항목을 찾을 수 없었다! (위 사진은 정상적인 상황) 오류1
을 해결하면서 서비스를 둘러봤을 땐 MySQL이 잘 작동하고있는 것을 확인할 수 있었는데, 재설치 이후에 달라진 것 이었다.
또다시 구글링..이 글을 참고할 수 있었다.
관리자 모드로 cmd를 실행하고 C:\Program Files\MySQL\MySQL Server 8.0\bin
경로로 이동하고 다음과 같은 과정을 진행한다.
mysqld --install
입력 -> Service successfully installed
출력
Mysqld --initialize
입력
Net Start Mysql
입력 -> MySQL 서비스를 시작합니다.. MySQL 서비스가 잘 시작되었습니다.
출력
이후 작업 관리자와 서비스에서 MySQL을 발견하고 시작할 수 있었다! 즐거운 마음으로 MySQL을 접속하려 시도했지만...
조마조마한 마음으로 cmd에서 패스워드를 입력했지만 반기는 것은 다음과 같은 오류 메세지였다.
ERROR 1045 (28000): Access denied for user 'root@'localhost' (using password: YES)
구글링 결과 사용자의 비밀번호가 틀렸을 경우에 발생하는 오류였다. 재설치 중 root 비밀번호를 설정하는데 심한 렉이 걸려 그냥 강제 종료했던 것이 이런 오류를 낳은 것 같았다.
root 비밀번호를 재설정하기 위해 인증 없이 MySQL에 진입할 수 있는 명령어 mysqld --skip-grant
을 입력했지만... 아무런 반응이 없었다. 이전 오류를 해결할 땐 작동했던 것 같아 구글을 계속해서 뒤적거렸지만...(이미 제정신이 아니었다) 정확한 해결책을 얻을 순 없었다.
인내심이 바닥남과 동시에 가장 현명한 해결책이 떠올랐다. 완전히 삭제 후 재설치. 물론 이전에도 재설치를 했지만, 완전히 삭제되지 않았다는 느낌이 들었다. MySQL을 완전히 삭제하는 법을 구글링하지 않았던 내 자신이 너무 멍청하다고 느껴졌다. (근데 제정신이 아니었으니 그럴 수 있다)
구글링 결과 숨겨진 폴더인 C:\ProgramData\MySQL
도 지워야 모든 MySQL을 지울 수 있었다.
완전히 삭제하니 재설치도 깔끔하게 이루어졌고, 모든것이 정상적으로 작동했다.
ㅎ
해결하는 동안 고통스러웠지만, 프로젝트와 잘 연결된 MySQL을 보니 기분은 좋았다(멍청한건가) 그래도 다음과 같은 작은 교훈, 느낀점들을 얻을 수 있었다.
MYSQL 설치를 위해 2시간째 삽질중 여기까지 왔습니다 ^^