[삽질] macOS mysql 설치 과정 및 오류

김주경·2021년 9월 23일
1
post-thumbnail

최근 이런저런 일들로 인해 다니던 회사를 그만두게 되었다. 얼른 정신 차리고 재취업해야지 하고 생각중이었다. 그러다가 예전에 만든 포트폴리오용 플젝이 너무나 조잡하고 저열해 새로 만들어야겠다는 생각을 했다. 오늘은 그 첫날이었고 DB와 관련 툴들을 깔고 정해야겠다 했는데 여기서 문제가 발생.

원래 개발을 하기 전에도 맥북을 썼던지라, macOS에 DB를 깔아야했다. 문제는 내가 회사에선 window를 사용해서 한 번도 맥에 oracle 외에 다른 걸 깔아본적이 없다는 것. 오라클 받을때도 도커 써서 온갖 똥꼬쑈를 다 했는데 그것도 까먹고 너무 자신감 넘치게 도전했더랬다...

Homebrew를 이용한 설치

나는 홈브루 (사람들은 브류라고 하는데 콜드브루를 콜드브류라고 하진 않잖나..) 를 이용한 설치를 하기로 했다. 크게 mysql 페이지에서 바로 받는 방법과 homebrew라는 맥에서 이용할 수 있는 패키지를 이용한 설치를 할 수 있다.

아주 간!딴!하게 homebrew가 뭔지 알아보자

HomeBrew

  • 루비로 되어있다.
  • git 기반이다.
  • macOS의 소프트웨어 설치를 간단하게 도와준다. (나에겐 간단하지 않았음)
  • 확장성이 높은데, 개발자가 gitHub에 올려놔서 사람들이 계속 확장시키는 중

설치 과정

# 1 - 홈브루를 일단 깔아줘야한다.

우선 command + space를 누른 후, 사람들 앞에서 가오잡을때만 켜는 터미널을 실행해준다.
그 뒤 아래의 명령어를 입력하여 설치를 진행한다.

M1칩 탑재 Mac이 아닌 경우

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

M1칩 탑재 Mac인 경우

/bin/bash -c "$(curl -fsSL https://gist.githubusercontent.com/nrubin29/bea5aa83e8dfa91370fe83b62dad6dfa/raw/48f48f7fef21abb308e129a80b3214c2538fc611/homebrew_m1.sh)"

# 2 - 그 뒤에는 brew 명령어를 통해 mysql을 설치해준다.

brew install mysql

1차 삽질 시작
이 단계에서 나의 첫번째 삽질이 시작됐다. 사람들이 올린 설치법을 무지성으로 따르니 이유도 영문도 모를 에러가 뜨기 시작했다.

cannot install on intel processor in arm default prefix (/opt/homebrew)

이 때 부터 이게 왜 뜨는지도 모르고 신나게 구글링을 했다. 포스팅 된 해결법은 대충 다음과 같다.
1. HOMEBREW_PATH 경로 수정 -> 안 됨.
2. arch -arm64 를 brew 명령어 앞에 붙여주기 -> 안 됨.
3. rosetta2를 추가로 설치해 진행하기 -> 너무 귀찮았음.
4. arch -x86_64 /usr/local/homebrew/bin/brew install mysql -> 이 방식을 가장 오래 붙들고 있었는데, 처음에는 순조롭게 진행되는 듯 하다 설치 과정에서 몇번 뻥나고 mysql이 실행도 안됨

결국 머리가 절반 정도 뜯겨나간 뒤에야, 원인을 파악했다. 내 맥은 2017년 형으로 우리집 고양이랑 나이가 똑같은 친군데, M1 칩이 탑재된 최신 맥용 홈브루를 깔았던 것이다. 사실 차분히 오류를 읽고 생각이란걸 했으면 금방 해결될 간단한 문제였는데...

무튼 위의 오류가 나시는 분들은 기존에 깔린 브루브루를 지우고 이전 버전의 홈브루를 설치하고 진행해 보시길 바란다.


# 3 - 설치가 끝나면 아래의 명령어들 중 하나로 mysql을 실행해준다

1. mysql.server start
2. brew services start mysql
3. mysql -uroot

나는 1번을 선택했다.


2차 삽질 시작
(넌 또 믄드 으 ㅂ쓰ㅃ쓰끼으...)

ERROR! The server quit without updating PID file

2차 구글링 시작...
1. 지웠다 다시 깜 -> 같은 현상 반복
2. 아무리 설치경로를 씹고 뜯고 맛보고 즐겨도 정상적인 경로에 정상적으로 깔림.
3. $ ps -ef | grep mysql로 검색 후 해당 PID 죽이기 -> 내 성질만 죽음
4. sudo chown -R mysql:mysql /usr/local/var/mysql -> 안됨
5. sudo chmod -R 777 /usr/local/var/mysql -> 안됨
6. $ ls -laF /usr/local/var/mysql/ 로 권한 확인 -> 현 접속자로 되어있음.(admin으로 되어있을 경우 권한을 수정하라고들 했다.) 근데 안됨
7. 6번의 경우 권한을 _mysql에 줘보라고해서 해봄 -> 안됨

해가 뉘엿뉘엿 지고 있던 와중에 무려 2016년에 작성된 대선배님의 포스팅을 보게 되었다.
https://nyhya.tistory.com/391

sudo chown -R 맥로그인계정 /usr/local/mysql/

이 빛빛빛님 덕분에 나는 대머리가 되지 않고 정상적으로 mysql 서버를 실행시켰다.


# 4 - SUCCESS 가 뜨면 성공
추후 보안 설정을 해주면 된다.

# 5 - mysql_secure_installation 명령어 실행
여기서는 보안 설정을 해줄 수 있다.
첫 설정이면 밑에 적어드리는 순서대로 나올것이고, 첫 설정 이후 해당 명령어를 실행하면 비번 변경 절차가 진행된다.
다들 영어 하실 줄 알겠지만, 귀찮음을 덜어드리고자 간단하게만 적어 드리겠다.

1. Would you like to setup VALIDATE PASSWORD component?
-> 패스워드 validation 설정 여부 질문. y 또는 Y로 대답하면 validation의 level을 정할 수 있다.
-> 만일 여기서 y를 대답할 경우 강도를 정할 수 있는데 0, 1, 2 단계였던 것으로 기억난다. 
0이 제일 낮은 단계인데, 나는 1로 했다가 나 스스로도 헷갈릴 못할 비번으로 설정해야만 했다.
-> local에서만 사용할거면 애초에 위의 질문에서 n으로 대답하는것이 best.

2. please set the password for root here. New password : 
-> 말그대로 root 계정을 위한 패스워드를 입력하라는 뜻

3. Re-enter new password : 
-> 재입력하라고 하는데, 틀리면 틀렸다고 다시 입력하라고 뜬다. 
-> 그리고 1번에서 유효성 레벨을 체크한 경우 25 50 75 와 같이 유효성 만족도가 나오는데, 100이 안되면 자꾸 빡구 먹인다. 

4. Remove anonymous users? (Press y|Y for Yes. any other key for No)
-> 권한 설정에 관한 이야기인데, n을 누르면 mysql 명령어 실행시 -u 없이 사용이 가능하다
-> 난 y에 체크해줬다.

5. Disallow root login remotely? (Press y|Y for Yes, any other key for No)
-> 원격으로 해당 root 계정에 접근할 수 있는지 여부를 묻는 것. 개인 재량으로 선택하면 될 듯

6. Remove test database and access to it? (Press y|Y for Yes, any other key for No)
->  test 데이터베이스 삭제 여부. y일 경우 삭제, n일 경우 유지

7. Reload privilege tables now? (Press y|Y for Yes, any other key for No)
-> 변경된 권한을 테이블에 적용하는지 묻는 질문. 웬만하면 yes.

# 6 - All done!
얼 던! 뜨면 끝난 것이다. 이제 mysql -u root -p 를 입력하고, 설정한 비번을 입력해주면 mysql을 사용할 수 있다.

mariaDB 역시 위의 절차로 설치가능하다. 아무래도 같은 계열이다 보니 mysql이 먼저 설치되어있으면 port 충돌 때문에 설치에러가 날 수 있다. 이 경우 mysql을 지우고 진행하면 된다.

profile
안냐세온

1개의 댓글

comment-user-thumbnail
2022년 8월 16일

선배님 설치까지는 무사히 잘되었는데 비밀번호 입력하기도 전에 mysql_secure_installation 입력하니 비밀번호를 입력하라는데 도대체 우째된 영문인지 아실까요..

답글 달기