이번에 맥북을 새로 구매하게되면서.. 원래 사용하던 맥북의 처분을 어떻게 할까? 하다가,
얼마전에 남는 노트북을 데이터베이스로 만들어서 사용했다는 벨로그 포스팅을 봤던 기억이 있어서..
당근마켓으로 넘기기에는 너무 낡기도 했고.. 그래도 아직 제가 토이프로젝트 할 정도로는 사용할 수 있을 것 같아서, 저도 제 남은 맥북을 데이터베이스로 만들고 토이프로젝트를 할 때 데이터베이스로 이용하고자합니다..!!
(아 물론 부트캠프도 있어서..적당히 윈도우머신으로도...)
2015 mid macbook pro 15"
일단 기존 맥북을 초기화하는 작업을 진행했습니다.
맥북의 전원을 끈 상태에서 cmd+R 을 눌러 부팅하면 macOS 유틸리티 화면이 뜹니다.
여기서 디스크 유틸리티 를 눌러 초기화할 디스크를 선택하고 포맷을 진행합니다.
다음으로 좌측상단 x 버튼을 눌러서 뒤로나간 후에, 여기서 화면 좌측상단에 애플마크를 누르고 재시동을 눌러줍니다.
이렇게 되면 재부팅할 때 다시 와이파이 연결부터 진행하는데, 공장초기화 를 진행하게됩니다.
이 때 저는 OS설치를 하면서 약관동의가 활성화가 안되었는데, 이때는 애플아이디를 넣지말고 그냥 약관동의로 넘어가면됩니다.
제 맥북이 2015년형이다보니.. 공장초기화를하고 macOS를 다시 설치를 하니 OS X 요세미티가 설치되어버렸습니다.
요세미티면은 너무 예전 OS라.. 다른 시스템과 호환이 잘 안되기도해서.. 맥북에서 설치가능한 최신 OS로 올려줍니다.
2015년 mid형은 macOS Monteray까지 지원하므로, 이것으로 한 방에 올려줍니다.
위 사이트에서 업데이트 가능한 OS를 골리 업데이트를 진행합니다.
단, 앱스토어에서 다운로드를 하려면 앱스토어에서 로그인을 해야하는데 2FA 인증을 적용해놓았으면 로그인이 안되는 이슈가 있었습니다.
위 블로그의 포스트를 확인해서... 기존 암호+2FA 번호를 바로 붙여서 입력하면 로그인되었습니다...!!
이제 어느정도 준비가 되었습니다.
일단 brew가 있어야지 뭔가 좀 해볼 수 있을 것 같아서, 설치해주었습니다.
홈에있는 명령어를 복사한 다음에 터미널을 열고 붙여넣기해주어 브루를 설치해줍니다.
그 다음 .zshrc
에 경로를 넣어 환경변수 설정을 해줍니다.
echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc
안쓰게된 맥북대신 구매한 것도 역시 맥북이라.. 원격접속을 할 수 있게 설정해주면 좋습니다.
시스템환경설정 > 공유
로 들어가서 아래 항목을 활성화해줍니다.
이것을 해준 다음에, 원격 관리
에서는 다시 우측 구석에 옵션
으로 들어가 관련 옵션들을 활성화해줍니다.
이 이후에 원격접속하고자하는 피씨에서 화면공유
를 이용해서 접속해줍니다.
아직 외부 포트포워딩은 하지않았지만, 같은 공유기를 사용하고 있으면 원격관리 설정을 해준(화면 공유 설정을 한) 맥북의 네트워크 설정에서 IP를 확인한 다음, vnc://{IP}
를 이용해서 접속해줍니다.
일단 아이피가 맞으면 해당 피씨 부팅 시에 뜨는 사용자이름과 암호를 넣으면 원격조작이 가능해집니다.
디스플레이를 덮고도 원격조작을 할 수 있도록, 디스플레이가 꺼져있어도 잠자기로 빠지지 않도록 설정해주었습니다.
맥북에다가는 데이터베이스로 mySQL
을 설치하려고합니다. 그렇지만 그냥 쌩으로 설치하진 않고, 도커를 설치하고 컨테이너로 실행하고자합니다. (나중에 mySQL의 삭제가 필요할 때라도 편하게 삭제하기 위해서)
이제부터 데이터베이스로 쓸 맥북은 덮어놓고 방 어딘가에 놓아도 됩니다. 원격조작으로 접속해서 작업해도 문제없었습니다.
우선 도커를 설치합니다.
여기서 설치를 해주었습니다. 설치하려는 맥북은 인텔칩이라 인텔용 도커를 설치해주었습니다.
설치해준 후에는 docker_compose.yml
을 이용해서 이미지를 다운받아주었습니다.
version: '3' # 파일 규격 번호
services:
mysql-db:
image: library/mysql:8.0.23
container_name: dahun-mysql-db
restart: always
command: # 명령어 실행 한글 깨짐 방지
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
ports:
- 3306:3306 # 호스트 : 컨테이너 포트포워딩
environment:
MYSQL_ROOT_PASSWORD: root # 초기비밀번호
MYSQL_DATABASE: dahun-mysql-db
MYSQL_USER: dahun
MYSQL_PASSWORD: 1234
TZ: Asia/Seoul
volumes:
- ./db/mysql/data:/var/lib/mysql # 디렉토리 마운트 설정
docker-compose up -d
이렇게하고 도커GUI를 다시 확인해보면
컨테이너가 실행되어있는 것을 확인할 수 있습니다.
터미널로 접속해서 DB가 잘 설치되었는지, 확인해봅니다.
docker exec -it dahun-mysql-db bash
mysql -u root -p
루트 유저로 접속하고, 패스워드를 입력합니다.
적당히 명령어를 입력해서 DB를 확인했고, 잘 되는 것 같습니다.
우리가 보통 컴퓨터에서 확인하는 아이피는, 공유기에서 자동으로 설정해주는 이른바 내부 아이피입니다. 그래서 가끔 컴퓨터를 껐다키면은 아이피가 제일 뒷자리가 변경되는 경우가 있습니다.
아이피가 변경된다면 외부에서도 DB에 접속할 수가 없겠죠.. 그래서 IP를 고정해야할 필요가 있습니다.
일단 집에서 사용하는 공유기의 관리자페이지로 접속했습니다. 이 주소는 사용하는 인터넷 업체마다 조금씩 다를 수 있습니다.
http://192.168.45.1
mac address는 하드웨어 당 부여되는 고유한 주소입니다. 보통 랜카드에 하나씩 할당되어있는데요 공유기는 맥 어드레스를 확인해서 아이피를 할당해줍니다.
맥북에서 mac address는 네트워크 환경설정 > 인터넷 연결의 고급 으로 접속하면 화면 하단에 맥 어드레스를 확인할 수 있습니다.
이 맥 어드레스를 가지고, 공유기 관리자페이지에서 고정아이피 하나를 할당해줍니다.
DHCP 서버 아이피에 고정아이피 하나를 할당해줍니다. 아이피는 적당히 할당해주어도 되는데, 당장 연결되어있는 번호를 고정으로 할당해주는게 제일 베스트일 것 같네요.
다음으로는 외부/내부 포트포워딩을 해줍니다. 외부 아이피의 특정 포트로 접속하는 통신에 대해, 내부 아이피의 특정 포트로 포워딩을 해줍니다.
아까 도커의 컨테이너 설정을 3306
번으로 설정해주었기 때문에, 알기쉽게 동일하게 외부포트 3306으로 접속하면 내부 포트 3306
으로 포워드해주게 설정해줍니다.
이 이후에는 DB로 쓸 맥북을 와이파이 재연결한다던지, 껐다 킨다던지하면서 아이피가 설정한 아이피로 잘 고정되는지를 확인합니다.
자 이렇게하면 다 되었습니다. 다른 컴퓨터에서 접속을 테스트해봅니다.
오늘 테스트하는 방법으로는, 다른 컴퓨터의 인텔리제이에서 DB를 test connection해보고 insert, select를 해보는 것으로 확인했습니다.
네이버에 내 아이피
로 검색하면 외부아이피가 나옵니다. 이 아이피에 포워드 설정한 포트번호로 접속을 진행해줍니다.
성공했습니다!
끄읏!
좋은글 감사합니다.
sk 브로드밴드에 공유기 물린 서버 설정할 때 고민했던게 생각나네요