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 상태를 확인하라고 한다. 이게 뭔데.
- ps : Process Status의 약자. 현재 실행중인 프로세스 목록과 상태를 보여줌.
- -a : 세션 리더(일반적으로 로그인 셀)을 제외하고 데몬 프로세스처럼 터미널에 종속되지 않은 모든 프로세스를 출력
- -x : 데몬 프로세스처럼 터미널에 종속되지 않는 프로세스를 출력. 보통 a와 결합해서 모든 프로세스를 출력한다.
- a : 터미널과 연관된 프로세스를 출력.
- -e : 커널 프로세스를 제외한 모든 프로세스를 출력.
- -f : 풀 포맷으로 보여줌(자세히 보여줌). 유닉스 스타일로 출력해주는 옵션으로 UID,PID,NI값 확인 가능
- UID : 시스템 V계열에서 나타나는 항목으로 소유자의 이름
- PID : 프로세스의 식별번호
- NI : nice 우선순위 번호
- 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
'프로그래밍 > database' 카테고리의 다른 글
[220302] 암호화 (buffer, hash, salt) (0) | 2022.03.02 |
---|---|
[220221] sql 오류모음, 피드백 (0) | 2022.02.22 |
[220216] DB와 서버를 연결해주는 Connection Pool (0) | 2022.02.21 |
[220216] Mysql 최초 설치 / 사용할 수 있게 세팅하기 (0) | 2022.02.21 |
[220216] Mysql 직접 사용해보기 (0) | 2022.02.16 |
댓글