2013-03-13 61 views
2

我想使用MySQLdb從我的python程序連接到MySQL。將python程序安全地連接到mysql

我很擔心,因爲我需要在.py中輸入用戶名和密碼才能連接到MySQL數據庫以及inno安裝程序。

找不到用戶名和密碼並且無法訪問我的數據庫嗎?我該如何解決這個問題?我是否以某種方式使訪問受限的sql用戶? (我是新的HTML/CSS/MySQL)。

+0

要求用戶輸入用戶並通過,而不是硬編碼它。 – Serdalis 2013-03-13 01:27:42

+1

使文件只能由某個用戶讀取。如果有人有權訪問您的計算機,他們將獲得您的密碼。 – Blender 2013-03-13 01:32:19

回答

2

首先,確保您的MySQL用戶/密碼與您的用戶名和密碼不同。

接下來,創建一個名爲文件,說,config.py並將其放置在您的PYTHONPATH目錄:

USER='zzzzzzzz' 
PASS='xxxxxxxx' 
HOST='yyyyyyyy' 
MYDB='wwwwwwww' 

更改權限的文件,以便只有你(根)可以讀取它。例如,在Unix上:

chmod 0600 /path/to/config.py 

現在,當你寫使用MySQLdb一個腳本,你會寫

import config 
connection = MySQLdb.connect(
    host = config.HOST, user = config.USER, 
    passwd = config.PASS, db = config.MYDB) 

所以你的用戶名和密碼,將不會出現在你的腳本中。


你也可以把config.py在一個加密的目錄,和/或一個USB拇指驅動器,所以當驅動器安裝文件只有訪問。