개발 일지/맥북 개발설정 등

맥북에서 superset mysql db설정하기

RyanKwon 2022. 5. 6. 14:24
728x90

일단 수퍼셋 설치는 이렇게 하고

 

맥북 m1 venv 가상환경에 superset 설치하기

공식 아파치 수퍼셋 설치 닥스를 참고했다. Installing From Scratch | Superset Installing Superset from Scratch superset.apache.org 우선 가상환경 실행. virtualenv써서 가상환경 만들고 해당 가상환경 및..

whatryando.tistory.com

 

db는.. 원래 superset을 깔면 sqlite가 같이 설치되고 기본 db로 sqlite를 사용하는 것 같아서 나도 시범삼아? 그냥 sqlite를 사용하려고 했다. 근데..안됨. 스택오버플로우 찾아보니까 superset은 보안?상의 이유로 sqlite를 더이상 사용하지 않는다고 하고, config.py파일에서 뭔가 설정을 바꾸면 sqlite도 사용할 수 있을거라고 한다. 근데 나는 어차피 이렇게 해야될거면 그냥 mysql을 깔아서 사용하기로 마음먹었다.

 

일단 mysql설치. 나는 브류가 깔려있어서 상당히 쉽게 설치 가능하다.

 

1. brew install mysql

(설치)

 

2. brew services start mysql

(mysql 시작)

 

2-1. 다시 설치해보고싶어서 재설치했는데 2번에서

Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/kwondohun/Library/LaunchAgents/homebrew.mxcl.mysql.plist` exited with 5.

위와 같은 메세지가 뜨면서 정상 작동이 안됐다. 이거는 이전에 내가 켜놓은 mysql 서버가 아직 열려있어서 그렇다고 한다. 따라서 brew services restart mysql을 해주면 정상적으로 작동이 되고, 만약 이런걸 방지하고싶으면 이전 mysql을 삭제하기 전 brew services stop mysql을 하고 재설치를 하면 된다.

 

3. mysql_secure_installation

(비밀번호 설정 등등.. 찾아보면 많이 나온다.)

 

4. mysql -uroot -p

(비밀번호가 있는 경우 mysql 접속하는 법. 비밀번호 없는경우(처음 설치하면 비밀번호가 없다.) -p를 안 쳐도 접속됨. 

 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) -> 다음과 같은 에러가 뜨는 경우에는 비밀번호가 있는거니까 -p 를 붙여서 실행하면 된다. 비밀번호 입력하면 연결댐

 

4-1. 다시 설치해보고싶어서 재설치했는데, 맨 처음 설치했을 때에는 -p를 안 했어도..됐는데 어딘가에 파일이 남아있던건지 이번엔 자동으로 비밀번호 설정이 돼있었다. 뭐 아무튼 남아있는 db같은건 없는거같고.. 다시 3번을 해서 비밀번호를 설정해줬다. 

 

---여기까지가.. 그냥 mysql 설치방법----

이후는 수퍼셋에 연결하기

 

 

참고로 나는 엑셀파일을 수퍼셋에 올리려고 했는데 엑셀을 저장할 수 없는 db가 없다고 해서 수퍼셋이 원하는?형태로 데이터를 저장할 수 있는 db를 따로 연결해줘야하는구나 싶었다. 그래서 mysql을 설치한것.

 

1. 데이터 카테고리를 누르고 해당 화면 오른쪽위에 잇는 +DATABASE를 클릭해준다.

 

2. 처음 수퍼셋을 설치했을 때에는 sqlite만 있다. 그리고 지금 mysql을 설치했는데에도 sqlite만 뜬다.

 

2-1. pymysql을 설치해준다. pip install pymysql 

 

3. 다시 2번을 반복하면 mysql이 뜸.

 

4. 여기서 mysql을 선택하면 해당 항목?안으로들어가는데, display name은 본인이 원하는대로 설정하고, sqlalchemy uri를 설정해야한다.  mysql+pymysql://사용자:비번@localhost/[내db 이름] 이렇게

 

4.1 사용자명은 본인이 mysql에서 설정할 수도 있지만 나는 일단 기본 root로 설정했다. db는 전에 mysql 에서 하나 만들어서 입력했다.

 

4.2 저렇게 해서 finish를 누르면 openpyxl을 설치하라고 뜬다. ...설치해준다.

 

db등록 완료!

 

5. 그럼 이제 맨 오른쪽 위의 플러스 버튼을 눌러서 업로드 엑셀파일 어쩌구를 해주자.

 

5.1 그럼 사용할 수 있는 데이터베이스가 없다고 뜬다..... > 추가된 데이터베이스의 advanced의 security에 들어가서 allow data upload를 해주자. 그럼 업로드 엑셀파일에 들어갔을때 내가 사용할 수 있는 데이터베이스 목록에 해당 db가 추가된다.

 

테이블 설정은 replace 

굿굿

 

 

-----------------

 

mysql 기본 사용자는 root이다. 새로운 사용자를 추가하고 싶으면 

 

CREATE user 이름@localhost identified by '비번';

 

grant all privileges on *.* to 이름@localhost;

 

flush privileges;

 

요렇게 해줘야 한다. 맨위에꺼만 하면 유저가 추가되긴 하는데 저기서 아무것도 접근할 수가 없음. 그랜트랑 플러쉬까지 해주면 root랑 완전 동일하게 사용 가능.

728x90