... Failed! error: SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.
우분투에 mysql 을 설치하는 과정에서, mysql_secure_installation 과정에서 새로운 비밀번호를 설정할 때 위와같은 오류가 발생하였다. root 권한으로 비밀번호를 설정하라는 것 같다. (애초에 비밀번호 설정을 못해 들어가질 못하는데..). 권고하는 것은 ALTER USER 문을 활용하라는 것 같다. 권고문 자체는 어려운 것이 아니었다 생각하는데 해결과정은 한 5시간은 걸린 것 같다.. 왜 이렇게 오래 걸리게 되었을까.
습관처럼 iterm 을 실행
구글에 에러에 대해 검색을 해보니 해결책이 잘 나와있긴 했었다. sql 문법이나 사용 방법에 대해 아직까지 익숙치 않아서 에러를 해석하더라도 햇갈렸기에, 우선은 조언대로 해보기로 하였다
https://seong6496.tistory.com/322
1. 우선 우분투에서 mysql 을 설치하는 과정에서 에러가 발생하였기에 우선은 실행중인 터미널을 종료해준다
이후 우분투 인스턴스와 연결을 하고
sudo mysql
2. 위 명령어를 입력하여 mysql monitor 를 실행시켜 준다.
3. 그 다음 위에서 권고한 대로 ALTER USER~ 를 통해 비밀번호를 변경해주자
ALTER USER 'root'@'localhost' IDENTIFEID WITH mysql_native_password by '비밀번호';
성공적으로 비밀번호가 변경이 되면
' Query OK, 0 rows affected (0.08 sec)' 처럼 문구가 뜨게 된다.
이후 exit 를 통해 mysql 을 나가주자.
참고로 우분투에서 mysql 을 설치할 때는 바로 mysql_secure_installaion 을 하는 것보다 먼저 아래 명령어를 통해 root shell 을 사용할 수 있게 해주자. sudo su 는 일시적으로 root 의 권한으로 명령을 내리게 되도록 해준다. 사실 su 를 사용하려면 root 의 비밀번호가 필요하고 그래서 새롭게 비밀번호를 설정하라고 안내창이 뜨는것이다.
sudo su
이후 위처럼 mysql_secure_installation 을 실행하고 앞에서 비밀번호를 제대로 설정하였다면, 'Change the password for root?' 라고 물어보게 되는데 이때는 반드시 'N' 을 입력해서 바꾸지 말아야한다. 아니면 처음부터 다시 해야한다. 이후부터는 Y 를 눌러주면서 진행해주면 된다.
원래는 위처럼 제대로 진행이 되어야 정상인데, 자꾸 새로운 비밀번호를 설정하라고 나오면서 새로 비밀번호를 입력하니 똑같은 에러가 발생하면서 진행이 되질 않았다. 분명 제대로 한 것 같은데 왜 비밀번호가 생성이 되지 않았던 것이지... 하면서 계속 고민을 하였다. 오타는 없는지, 아니면 다른 문제가 있는지 등등 고민을 하였다가 많은 시간이 지나고 문득 아차싶었던것이 지금 다루는 우분투 터미널은 말 그대로 내 컴퓨터의 설정을 다루는 것이 아니라, 원격 서버 컴퓨터에 대한 설정을 다루는 것이라는 것을 깨달았다.
즉, 너무나 습관적으로 맥북의 iterm 으로 1~3번까지의 과정을 진행시킨것이다. 당연히 안될수밖에... 너무나 간단한 착오라 당황스럽다. 여하튼 다시 진행을 해주니
성공적으로 비밀번호 설정이 완료되었다.
에러는 언제나 당황스럽게 하지만, 특히나 많이 고생하는 오류들은 기본적인 흐름을 잘 파악하지 못할 때 발생하는 것 같다. 처음 배포를 경험해보는 것이라 이부분에 대한 지식 역시 부족하고, 이러한 점이 작용하여 에러를 해결하는데 더 오래 걸렸던 것 같다.
'Programing > Error' 카테고리의 다른 글
최후의 수단! Mysql 을 완전 삭제 후 재설치 과정 (0) | 2023.03.03 |
---|---|
[ERROR] The user specified as a definer ('mysql.infoschema'@'localhost') does not exist (0) | 2023.01.05 |
Error : MySQL Sequelize 사용 중 Models 관련 오류 (0) | 2022.11.23 |
Error : Access denied for user '유저아이디'@'localhost' (using password: YES) 해결 및 mysql 비밀번호 초기화 (0) | 2022.11.16 |
Error : because it would overwrite input file (0) | 2022.11.12 |