반응형

SQL 접속시 접속정보 별도 보관해서 사용하기(python)

출처: https://redapply.tistory.com/entry/SQL-접속시-접속정보-별도-보관해서-사용하기python [Bigcat]

 

SQL 접속시 접속정보 별도 보관해서 사용하기(python)

mySQL이나 마리아db 접속 할때 코드상에 보안상 비밀번호나 개인노출되는것이 부담스럽습니다. 로그인 접속 정보를 별도 파일에 보관해서 파이썬에서 불러오는 방법을 알아 보겠습니다. 1. sql 로

redapply.tistory.com

 

mySQL이나 마리아db 접속 할때 코드상에 보안상 비밀번호나 개인노출되는것이 부담스럽습니다.

로그인 접속 정보를 별도 파일에 보관해서 파이썬에서 불러오는 방법을 알아 보겠습니다.

 

1. sql 로그인 정보가 담긴 py 파일을 만듭니다.

    ex ) c:\git/mysql_auth.py

 

2. mysql_auth.py 안에 mysql 접속 형식에 따라 정보 작성합니다.

   ex ) 아래는 예시입니다. info라는 이름은 마음대로 정하셔도 됩니다.

 

lnfo = {

"db" : "study_data",

"host" : "192.168.0.1",

"user":"root",

"passwd":"12345",

"port" : 3307,

"charset":"utf8"

}

 

3. sql콘솔에서 데이타베이스를 만들어 놓는다.

  ex ) MariaDB [(none)]> create database study_data;

 

이러면 준비가 완료 된것입니다.

코드 작성 폴더위치가 (db_login_test.py)

c:\git\test 에서 작성하고

내 개인 sql접속정보 파일이

c:\git 에 있다면 (mysql_auth.py)

다음은 예제 입니다.

 

import sys

sys.path.insert(0,'./git') # mysql 접속정보를 저장한 폴더경로

import mysql_auth # 나의 mysql 접속정보를 가져온다.

import MySQLdb

 

login = mysql_auth.info # 사용이 용이하게 변수로 저장

 

#참고로 login['port'] 이런식으로 입력하면

# 'port'의 값 즉 3307 이 출력되어 이 값을 우리가 사용

 

# SQL 접속 테스트

# 먼저 sql에서 db를 만드세요.

conn = MySQLdb.connect(

db=login['db'],

host=login['host'],

user=login['user'],

passwd=login['passwd'],

port=login['port'],

charset=login['charset'])

 

c = conn.cursor()

 

#테스트를 위해 테이블 자동 삭제

c.execute('DROP TABLE IF EXISTS test1')

 

c.execute('''

CREATE TABLE test1(

id MEDIUMINT AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(50),

zipcode INT

)

''')

 

c.execute('INSERT INTO test1(name,zipcode)\

VALUES(%s,%s)',('서울',12345))

 

conn.commit()

 

# db 내용 정보 확인하기

c.execute('SELECT * FROM test1')

for row in c.fetchall():

print(row)

 

#sql접속 차단

conn.close()

 

이러면 작업 코드와  개인 정보 파일이 완전 분리되어 

외부에 노출되는 위험이 줄어 듭니다.

 

출처: https://redapply.tistory.com/entry/SQL-접속시-접속정보-별도-보관해서-사용하기python [Bigcat]

반응형

+ Recent posts