본문 바로가기
프로그래밍/database

맥북 인텔칩/M1칩에서 Mysql 완전 삭제 후 재설치 하기

by 한코코 2022. 2. 18.

mysql을 설치한 후에 연산을 할때마다 오류를 빵빵 터트리길래 mysql을 초기화 시키고 다시 시작하려고했다.

비밀번호를 수정하는 구간에서 갑자기 코드가 에러를 띄우더니, 내 손에 쥐어진 오류코드. 

ALTER USER root@‘%’ IDENTIFIED WITH mysql_native_password BY root1;
ERROR 1064 (42000): You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near '%’ IDENTIFIED WITH mysql_native_password BY root1' at line 1

해석하면, 얘, 너 문법 틀렸다. 다시 쓰렴-인데, 뭘 집어넣던지 죄다 저 메세지를 띄워준다.

코드를 30분간 긁어서 넣어보고는 망그러졌구나-를 깨닫고 삭제를 하기로 했다.

널 죽일거야 mysql... 조사버릴거야....

 


 

1. 시스템 환경설정에서 mysql을 클릭해서 제거하란다.

나는 파일을 다운받아서 설치한게 아니기 때문에 없다. 패스

 


 

2. 터미널에서 완전삭제하기 (인텔칩!!!)

1.   mysqldump을 터미널에 입력해서 자료를 백업.

난 전부 날려버릴것이므로 안함.

 

 

2.  ps -ax | grep mysql을 작성해서 mysql 상태를 확인

ps -ax | grep mysql을 작성해서 mysql 상태를 확인하라고 한다. 이게 뭔데.

  1. ps : Process Status의 약자. 현재 실행중인 프로세스 목록과 상태를 보여줌.
  2. -a : 세션 리더(일반적으로 로그인 셀)을 제외하고 데몬 프로세스처럼 터미널에 종속되지 않은 모든 프로세스를 출력
  3. -x : 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스를 출력. 보통 a와 결합해서 모든 프로세스를 출력한다.
  4. a : 터미널과 연관된 프로세스를 출력.
  5. -e : 커널 프로세스를 제외한 모든 프로세스를 출력.
  6. -f : 풀 포맷으로 보여줌(자세히 보여줌). 유닉스 스타일로 출력해주는 옵션으로 UID,PID,NI값 확인 가능
    1. UID : 시스템 V계열에서 나타나는 항목으로 소유자의 이름
    2. PID : 프로세스의 식별번호
    3. NI : nice 우선순위 번호
  7. grep : 입력으로 전달된 파일의 내용에서 특정 문자열을 찾는 명령어

현재 실행중인 프로세스 목록과 상태를 보여주는데,

커널 프로세스를 제외한 지금 시스템에 동작중인 프로세스를 자세히 보여주고,

또는(|) 입력으로 전달된 파일의 내용에서 mysql을 찾아줘라.

-> 한마디로 지금 실행되는 것들중에서 mysql인거 찾아서 죄다 보여줘.

 

 

 

3.   MySQL processes를 멈추고 kill 명령어를 사용..

[ kill 명령어 ]

시스템상에서 동작하고 있는 프로세스에 간단한 메세지를 보내는 명령어.

보통은 종료 메세지고, 프로세스에 종료 메세지를 보낸다. 그 외에도 기능이 있다지만 나는 종료가 급하다. 나중에 찾자.

kill -옵션 PID를 사용하면 kill 명령어를 쓸 수 있다는데, -9는 강제종료, -15는 작업종료.

sudo kill -9 99032

이렇게 삭제하면 되는데, 나는 다 지워서 저거 하나 남았다.

저거 지우면 어떻게 되냐면 내가 쓰고있는 터미널이 꺼진다.

( 어떻게 알았냐면 나도 알고 싶지 않았음. )

 

 

 

4. 이제부터 차례대로 코드 입력

아래 코드를 하나씩 입력하면 삭제된다. 중간에 warning이 뜨긴하는데 그냥 냅둔다.

뭔가 설치 안되었다는데, 아니 난 지울거라 상관 안 할 건뒈??!?

brew remove mysql
brew cleanup

 

다음 코드들을 터미널에 입력해서 파일을 지우는데 몇개는 반응이 있고 몇개는 반응이 없다.

내가 작성한 파일이 몇개 없어서 그런가. 그냥 가자. 가는거야. 

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*

mysql의 자동로그인 기능을 취소시키는 코드.

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

이전 mysql의 구성을 제거하는 코드.

edit /etc/hostconfig and remove the line MYSQLCOM=-YES-

이전 mysql의 환경설정을 제거하는 코드.

여기까지하면 훌륭하게 인텔칩이 있는 맥os에서 mysql을 삭제할 수 있다.

rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*

 

 

 

근데 안되더라. 왜 안되나 헤매다가 결국 지인이 말해줬는데 이건 m1칩 제품은 안된다더라.

그리고 난 m1칩을 가진 맥유저다...


 

3.   터미널에서 완전 삭제하기 (M1칩!!!)

아아아아ㅏㅏㅏ아아아아ㅏㅏㅏㅏㅏ

여태 했던게 맥북 인텔칩 삭제 루트였어....

 

m1칩은 삭제 루트가 다르다. 다음 경로로 들어가야한다.

어쩐지 파일 식제 명령어를 눌러도 파일이 없다고 나오더라......

/opt/homebrew/Cellar/

그리고 이 경로에도 mysql이 있다.

작업한 데이터는 이 곳에 저장된다.

작업한 데이터를 보존하면서 mysql은 지우고 싶다면, 작업한 파일만 따로 빼놓으면 된다.

/opt/homebrew/var

이 코드로 mysql이랑 에 있는 데이터를 지워주면 된다.

sudo rm -rf mysql

 

 


 

 

4.   터미널에서 Mysql 재설치하기 (M1칩)

다음 코드를 작성하면 무사히 설치된다.

brew install mysql
brew serviecs start mysql
mysql_secure_installation

댓글