// it's for Latex

pages

[How to connect Python programs to MariaDB in NAS] #07. Connect to Database with Internet ( external address / 외부주소 )

#06 에서는 서로 같은 네트워크(WIFI)를 공유한 상태에서 mysql-python을 통해 NAS의 database에 접속해 보았다.
하지만 내가 필요한 기능은 NAS와 PC가 같은 네트워크를 공유하지 않더라도 각각 Internet만 연결되어 있으면 통신이 가능한 구조이다.
이를 위해 다음과 같은 작업이 필요하다.


작업환경
OS : Windows 10
PC : LattePanda 4G RAM 64G eMMC (DFR0419)
NAS : DS1618+
Python : 3.6.8
Tool : Pycharm


1. NAS DDNS 설정


https://devks.tistory.com/19?category=686547
위 링크를 참조하여 일단 NAS의 DDNS를 설정해준다.

2. 외부주소 확인


1번의 과정을 완료하면 아래 사진과 같이 DDNS가 생성되게 된다. 이때 외부주소(파란색 사각형)을 확인한다.


3. 위 내용을 통해 Python Programming


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/python
import mysql.connector as mariadb
from mysql.connector import Error
try:
   connection = mariadb.connect(host='2번에서 확인한 NAS DDNS의 외부주소', user='#06의 3번에서 확인한 user 명 입력', port='#06의 6번에서 확인된 Port 번호 입력', password='#06의 3번에서 login에 사용되는 password 입력', database='#06의 4번에서 확인된 db 명 입력')
   if connection.is_connected():
       db_Info = connection.get_server_info()
       print("Connected to MySQL database... MySQL Server version on ", db_Info)
       cursor = connection.cursor()
       cursor.execute("select database();")
       record = cursor.fetchone()
       print("Your connected to -", record)
except Error as e:
   print("Error while connecting to MySQL", e)
#finally:
#    if(connection.is_connected()):
#        cursor.close()
#        connection.close()
#        print("MySQL connection is closed")
cs

위와 같은 과정을 거치면 외부주소를 이용해 PC에서 NAS의 DB로 접속할 수 있다.
이 때 NAS와 PC는 같은 네트워크를 공유하지 않아도 되며, 각각 Internet은 연결 되어있어야 한다.

댓글 없음:

댓글 쓰기