-
SQL 접속시 접속정보 별도 보관해서 사용하기(python)Python 2018. 10. 12. 05:41
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 syssys.path.insert(0,'./git') # mysql 접속정보를 저장한 폴더경로import mysql_auth # 나의 mysql 접속정보를 가져온다.import MySQLdblogin = 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()이러면 작업 코드와 개인 정보 파일이 완전 분리되어
외부에 노출되는 위험이 줄어 듭니다.
도움이 되셨기를 바라겠습니다.
감사합니다.
'Python' 카테고리의 다른 글
Colab 구글 드라이브 연동 (0) 2018.10.10 파이썬에서 mysql 또는 mariaDB에 auto_increment 사용법 (0) 2018.10.10 시놀로지 나스에 도커에서 마리아DB 처음부터 끝까지 설치 완료하기 4부 (0) 2018.10.07 시놀로지 nas에 docker에서 마리아DB 처음부터 끝까지 설치 완료하기 3부 (0) 2018.10.07 시놀로지 나스에 도커에서 마리아DB 처음부터 끝까지 설치 완료하기 2부 (0) 2018.10.07