찾아보게된 이유 🧐

‘MySQL’ 을 설치한 후
‘node.js’ 와 연동을 시키는 중에
‘root 계정 접속 에러’ 가 발생

그 외에도 다양한 에러가 발생했는데
job for mysqld.service failed because the control process exited with error code. see "systemctl status mysql.service" and "journalctl -xe" for details.
ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

구글링을 해서 내가 해결한 방법을 기록으로 남기려고 한다.


해결 방법 😎

다양한 에러가 발생해서
여러방법으로 해결하려고 했으나

경로가 안맞는 경우도 있었고
엉뚱한걸 지우기도 하고 계속 꼬이기만 했다.

결론은 ‘초기화’ 를 해서 처음상태로 되돌리는게 제일 깔끔한 방법이었다.

mysql -V 👈 (명령어)
mysql 이 설치되어있는지 버전을 확인을 해본다.

mysql 을 아주 확실하게 지워준다
sudo apt-get remove --purge mysql* 👈 (차례대로 명령어)
sudo apt-get purge mysql-server
sudo apt-get purge mysql-common

시스템 내에 폴더 및 파일들도 싹 지워준다
sudo rm -rf /var/log/mysql 👈 (차례대로 명령어)
sudo rm -rf /var/log/mysql.*
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql
sudo rm -rf /etc/mysql /var/lib/mysql

모든 삭제 작업이 끝났으면 습관처럼 업데이트 & 업그레이드
sudo apt update && sudo apt upgrade


재부팅을 한번 해주면 좋다

mysql 이 완전히 제거되어있는지 확인을 해본다.
mysql -V


이제 설치를 진행한다
sudo apt-get install mysql-server
👆 (mysql 을 설치하는 명령어)

설치가 끝났으면 mysql 프로그램을 실행
sudo systemctl start mysql
👆 (mysql 을 실행시키는 명령어)

root 계정으로 MySQL 접속을 해본다
mysql -u root -p 👈 (root 계정 접속 명령어)
처음 설치했을때는 비밀번호는
그냥 엔터키를 누르면 접속이 가능하다

접속 에러가 뜨는걸 볼수 있는데 👆

이때 당황하지말고 명령어 앞에
‘sudo’ (관리자권한) 을 붙여서 다시 실행시킨다

sudo mysql -u root -p

그럼 root 계정으로 접속이 잘 되는걸 볼수 있다 👆


그럼 이제 root계정의 비밀번호를 설정해줘야 하는데

mysql 에 root계정으로 접속이 된 상태에서
mysql 문법을 이용해야한다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '내 비밀번호';

(mysql 실행 후 root 계정 비밀번호 변경 명령어)

flush privileges;👈 ( 새로고침(적용) 명령어 )

비밀번호를 설정하면 접속 명령어 앞에 ‘sudo’를 빼도 접속이 잘 되는걸 볼수 있다 👍