아메리카노가 그렇게 맛있답니다 여러분

이번 포스팅은 라즈베리파이 3를 MySQL 서버로 사용하는 방법에 관한 내용입니다.


MySQL은 apt를 사용하여 설치하였다고 가정하고 그 이후 부분에 대해서만 다룹니다.


포스팅 과정에서 사용한 버전은 ubuntu 16.04와 MySQL 5.7입니다.



설치가 다 되었다면 sudo service mysql restart 한번 해주시거나 재부팅하시고 포트포워딩 페이지로 이동합니다.


(만약 랜으로 직접 연결했다면 xshell이나 putty에서 ifconfig으로 IP주소만 찾아주면 됩니다)


포트포워딩에 관련해서 아래 부분을 몇 개 설명해드리면


외부 포트는 개발자가 외부에서 연결할 포트 번호입니다. 이 번호는 실제 프로그램의 포트와는 상관이 없습니다. 임의로 원하시는 번호를 지정해도 되고, 실제 서버의 포트와 동일한 숫자로 입력하셔도 무방합니다. (단, 동일한 외부 포트 번호가 여러 개 존재할 수는 없습니다)


내부 포트는 해당 기기에서 돌아가는 프로그램의 포트 번호를 의미합니다. MySQL의 경우 3306 포트를 사용하고 JSP의 톰캣의 경우 8080을, Flask의 경우 5000번을 기본으로 사용합니다. 내부 포트는 대부분 프로그램 설정에서 먼저 변경을 해야 하기 때문에 default를 그대로 사용하는 경우가 많습니다.


내부 IP 주소는 사용하려는 DB서버에서 포트포워딩 페이지를 설정하고 계시다면 '현재 접속된 IP 주소'를, 그렇지 않다면 xshell에서 ifconfig를 입력하셔서 192.168.0.x로 나오는 번호를 찾으신 후 입력하시면 됩니다.


적용을 누르신 후 상단에 있는 저장을 누르시면 포트포워딩은 완료됩니다.


포트포워딩을 적용했다면, 사용할 계정을 외부에서 사용할 수 있도록 권한을 변경해야 합니다.


MySQL console로 들어간 뒤, grant all privileges on *.* to 'USERNAME'@'%' identified by 'PASSWORD'; 를 입력합니다.


이제 각자 사용하는 언어나 프레임워크에 따라 알아서 MySQL에 연결하시면 되는데요, 간혹 이런 오류가 뜰 때가 있습니다. (JSP기준)


mysql connection refused


이 문제는 MySQL 설정에 관련된 부분이므로 xshell을 사용해서 수정해야 합니다.


vim으로 설정 파일을 변경해봅시다.


sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf





전 대략 30번째 줄에 있었는데요, 위 그림에서 아래에 써진 bind-address = 127.0.0.1 부분 앞에 #을 써서 주석 처리해줘야 합니다.

(위 그림은 이미 주석 처리된 그림입니다)


주석 처리하셨다면 sudo service mysql restart를 써서 MySQL을 다시 시작해주신 뒤 접속하시면 원활하게 접속하실 수 있습니다.

'학부과정 > 데이터베이스' 카테고리의 다른 글

데이터 모델링  (0) 2017.06.11