python - 安全地将python程序连接到mysql

标签 python mysql

我想使用 MySQLdb 从我的 python 程序连接到 MySQL。

我很担心,因为我需要将用户名和密码放在 .py 中才能连接到 MySQL 数据库,以及进入 inno setup。

难道没有人能找到用户名和密码并访问我的数据库吗?我该如何解决这个问题?我是否以某种方式创建一个访问权限受限的 sql 用户? (我是 html/css/MySQL 的新手)。

最佳答案

首先,确保您的 MySQL 用户/密码与您的用户名和密码不同。

接下来,创建一个名为 config.py 的文件,并将其放在 PYTHONPATH 的目录中:

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

更改文件的权限,以便只有您(和 root)可以读取它。例如,在 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 拇指驱动器上,这样只有在安装驱动器时才能访问该文件。

关于python - 安全地将python程序连接到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375412/

相关文章:

php - 如何修复大型数据库从连接表中查找倒数第二个修改结果时出现的 'Timeout' 错误?

php - mysql if 语句如何

php - SQL 延迟加载 - 选择一个范围但丢弃之前选择的条目

MySql。如何使用自助加入

python - 如何在循环内发出警告并再次请求 raw_input

python - 识别因果模型的影响时的错误

python - 请求库 https 通过代理获取导致错误

python - 如何使用 Mechanize cookie 获取 http 页面?

python - PyMC 建模具有未知均值和协方差的层次回归

mysql - 表中不存在键列