본문 바로가기
개발자의 삶/Server

[라즈베리파이] Maria DB 설치 및 확인, 설정(방화벽, Encoding=CharacterSet)

by 나.R.D.(Rule Destoryer) 2016. 2. 25.

mariadb 설치

 

 $ sudo apt-get install mariadb-server






#출처 : http://www.tecmint.com/install-mariadb-in-debian/


참고할만한 사이트들은 무지 많다는 거~~~~~~

이쪽저쪽 사이트 참고를 많이 했지만, 전체적으로 잘나와 있는 듯 해서 하나만 남긴다.



중간에 DB root 권한 비밀번호를 설정하는 푸른색 창이 뜬다.



가끔 아무 생각없이 패스워드 설정하다가 나중에 루트 비밀번호가 뭐지? 하면서 비밀번호 초기화나 재설치를 하지 않기를..




설치 확인





방화벽 설정

이제 외부에서 툴을 써서 접속을 해보도록 해보자.


외부 포트를 오픈을 해주어야 하며, ip를 정해주거나 전체로 지정해주는 작업을 해보자.


#참고 : http://choiyb2.tistory.com/8, http://dev.mysql.com/doc/refman/5.7/en/grant.html



 $ iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
 $ iptables -A OUTPUT -p tcp --dport 3306 -j ACCEPT
 $ iptables-save

 


오픈만 하면 일단 외부에서 telnet 으로 신호는 간다.



 $ telnet 192.168.x.x 3306

 





계정 권한 설정

그리고 이제는 외부에서 접속이 가능하도록 계정 접근 ip를 오픈해보자.



 MariaDB [mysql]> grant all privileges on *.* to '[user]'@'%' identified by '[password]';

 MariaDB [mysql]> FLUSH PRIVILEGES;

 

  : 배경색상 처리된 부분은 사용자 입력


'%' 는 ip 자리인데, 특정 ip만 오픈할 때에는 % 대신 해당 ip를 넣어주면 된다.

ex) ...to 'test'@'210.x.x.x' id...;

개인적으로 사용할 용도이기 때문에 '%' 로 설정해 놓았다.


'*.*' 은 앞에 '*'는 디비명, 뒤에 '*'는 테이블명이다.

굳이 이렇게 나눌 필요까진 없지만, 알아두면 '다음에 권한 설정할 때 도움이 되지 않을까' 한다.



추가 설정


~# vi /etc/mysql/my.cnf

 


my.conf 파일에서 주석 처리 한 줄만 하면 해결이 된다.


bind-address 가 주석처리가 되어 있지 않은데, 위에 description 되어 있는 부분처럼 앞에 # 을 붙이므로써 주석처리를 하면 된다.


#참고 : http://pneuma08.tistory.com/22


위에 참고 사이트가 정말 .... 처음에 'Can't connect to MySQL server on (10061)' 키워드로 구글링 했을 때 제일 상단에 있었던 글인데, 왜 좀 더 자세히 보지 않았을까... 두어번 더 눌러보고 나서 맨 아래 설정이 있는 걸 확인했다.


왜 찾았는 지도 전혀 감 못잡고 위에 설정한 부분 제대로 설정 했던 건데 똑같은 것만 나오네? 하고... 브라우저를 몇 번을 닫았는지 모르겠다.



캐릭터 셋 설정#1 - 테이블 CharacterSet 설정


ALTER TABLE [TABLE] CONVERT TO CHARSET UTF8;

 


캐릭터 셋 설정#2 - mysql 서버 CharacterSet 설정


~# vi /etc/mysql/my.cnf



아까 위에서 설정했던 파일을 다시 한 번 수정해보자.


  

[client]

default-character-set = utf8


... 다른 설정들 ...


[mysqld]

character-set-server = utf8


... 다른 설정들 ...


[mysql]

default-character-set = utf8

 


위 설정은 직접 추가하면 된다.

주석을 풀거나 하는 것이 아니기 때문에 직접 추가해보자.


캐릭터셋 설정을 왜 하게 되었는가 하면...


데이터를 넣는데, 데이터가 "????"와 같이 한글이 깨져서 들어간 것을 확인하자마자, 아... 한글 깨지는 구나 인코딩 맞춰줘야 겠구나.


하는 생각이 들어서 얼른 검색을 해보니 기본적으로 utf8로 설정이 되어 있지 않다는 것을 확인할 수 있었다.


위 설정과 마찬가지로 덤프를 뜨거나 할 때 캐릭터셋을 맞춰주어야 하는 것 같은데, 그러한 설정들은 다 빼고 필자가 원하는 것들만 뽑아서 작성했으니 각자 원하는 설정을 추가시키면 될 것 같다.



#참고 : http://cusmaker.tistory.com/205


반응형

댓글