티스토리 뷰

django(이하 장고)는 데이터베이스를 기본으로 sqlite를 사용한다.
작은 사이트나 개발용 사이트에서는 sqlite도 상관없지만 규모가 크거나 데이터베이스로 다른 곳에 활용하려면 확장성이 큰 다른 데이터베이스를 사용하는 게 좋단다.
두 개의 차이는... 잘 모르지만 sqlite는 파일 형식으로 데이터를 저장하지만 mysql은 데이터베이스 형식이라나... 후자가 훨씬 많이, 제일 많이 보편적으로 쓰인다고 해서 그걸로 바꾼다.
현재 gistalk는 sqlite를 사용 중이다.
난 머신러닝을 한 번 구현해보고 싶어서 mysql을 사용해보련다.

참고사이트는, 구글에다 'django mysql'이라고 치니까, 예전에 django uWSGI nginx를 설정하는 사이트에서 최근에(불과 일주일 전) 올린 글을 발견해서 따라했다.

https://www.digitalocean.com/community/tutorials/how-to-create-a-django-app-and-connect-it-to-a-database

여기 보면 따라하기 전에 mysql을 설치하란다. 그래서 링크 걸어놓은 글을 따라가서 설치부분을 따라했다.
(참고로 운영 중인 서버에서 하다가 터지면 안되니까 virtualbox 가상머신에서 가상환경에서 했다.)

https://www.digitalocean.com/community/tutorials/how-to-install-the-latest-mysql-on-ubuntu-16-04#step-2-%E2%80%94-installing-mysql

스텝 2만 따라하면 된다.

설치할 때 두 번째 댓글처럼 에러가 났었는데, 왠지 모르겠지만 어느 순간 잘만 되더라. 껐다켜면 되나...

그래서 설치하고 위에 링크를 따라하면 mysql을 실행하는 부분에서 username을 치라고 한다. 그런데 아무리 생각해봐도 그런 걸 설정한 기억이 없다. 당연히 ubuntu나 admin은 아니었다.
구글 검색해보니 초기엔 username이 root였다. 비밀번호는 없다. 그러니까,
mysql -u root만 치면 실행된다.(뒤에 -p는 필요없다.)

마찬가지로 장고 setting.py의 데이터베이스 설정부분을,  아이디를 root로, 비밀번호를 빈칸으로 놔두면 된다.

다음엔 이미 있는 sqlite 파일(db.sqlite3)을 mysql로 바꿔보겠다.
댓글