安全地将Python程序连接到MySQL

3 投票
1 回答
1591 浏览
提问于 2025-04-17 18:53

我想在我的Python程序中使用MySQLdb连接到MySQL数据库。

我有点担心,因为我需要在.py文件里放入用户名和密码,这样才能连接到MySQL数据库,还需要放到inno setup里。

难道没有人能找到我的用户名和密码,然后访问我的数据库吗?我该怎么解决这个问题?我是不是可以创建一个权限有限的SQL用户?(我对html/css/MySQL还很陌生)。

1 个回答

3

首先,确保你的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闪存驱动器上,这样只有在插入驱动器时才能访问这个文件。

撰写回答