라즈베리파이 MySQL DB 설치 (Python 연동)
MySQL DB 를 라즈베리파이에 설치하는 방법입니다.
먼저 mysql-server, mysql-client 를 설치합니다.
$ sudo apt-get install mysql-server mysql-client
설치 과정 중 DB root 비밀번호 설정창이 나오면 입력 (2번)
설치 과정이 끝나면 설정 파일을 수정합니다. bind-address 부분을 찾아 주석처리합니다. (앞에 # 붙여주고 저장)
$ sudo nano /etc/mysql/my.cnf ...... # bind-address = 127.0.0.1 ......
mysql 서비스를 재시작합니다.
$ sudo service mysql restart
테스트용 DB 생성을 위해 mysql shell 에 접속합니다. root 유저로 접속합니다.
$ mysql -u root -h localhost -p
root 비밀번호 입력 후 쉘이 뜨면 테스트 DB 생성.
mysql> CREATE DATABASE pidb;
pi 유저 생성. 마지막 xxxxxxxx 부분에 비번을 입력하세요.
mysql> CREATE USER 'pi'@'localhost' IDENTIFIED BY 'xxxxxxxx';
생성한 pi 유저에 pidb 접근권한 설정
GRANT ALL PRIVILEGES ON pidb.* TO 'pi'@'localhost';
설정 적용
FLUSH PRIVILEGES;
Ctrl + C 키를 눌러 쉘을 빠져 나옵니다. 다시 pi 유저로 pidb에 접속
$ mysql -u pi -h localhost pidb -p
이상없이 접속되면 OK
Python – MySQL 연동 확인을 위해 파이썬 쉘을 실행하고 MySQLdb 모듈을 import 해봅니다.
$ python >>> import MySQLdb Traceback (most recent call last): File "test.py", line 3, in <module> import MySQLdb ImportError: No module named MySQLdb
이렇게 에러가 나오면 MySQL DB 와 Python이 연동되지 않은 상태입니다.
아래 링크에서 MySQL-python-1.2.3.tar.gz 다운로드 후 라즈베리파이에 업로드 합니다.
http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/
다운로드 받은 디렉토리에서
$ tar xfz MySQL-python-1.2.3.tar.gz $ cd MySQL-python-1.2.3
여기서 필요하다면 edit site.cfg 파일을 자신의 환경에 맞게 수정해줘도 됩니다. (모르니까 그냥 패스;;;)
설치전에 아래 패키지를 업데이트 하니다. 이 과정은 mysql_config 에러를 방지합니다. (참고자료 링크)
$ sudo apt-get install libmysqlclient-dev
빌드 후 설치
$ python setup.py build $ sudo python setup.py install
확인을 위해 파이썬 쉘을 실행하고 MySQLdb 모듈을 import 해봅니다.
$ python >>> import MySQLdb
에러 없이 진행되면 파이썬 쉘 종료. 이제 파이썬에서 MySQL DB를 억세스 할 수 있습니다.
파이썬에서 MySQL DB를 다루기 위한 기본 예제들이 아래 사이트에 잘 설명되어 있습니다. 예제가 필요하시면 아래 사이트의 예제들을 확인한 후 응용해보세요.
http://www.tutorialspoint.com/python/python_database_access.htm