【发布时间】:2013-09-21 01:53:15
【问题描述】:
我正在编写一个关于 python 和 MySQL(MySQLdb,PyQT)的应用程序,但遇到了一个问题。 我碰巧当在登录表单上输入随机值时,这个随机用户可以访问数据库。该用户不能使用 SELECT 但他可以使用 INSERT! 我是 MySQL 新手,这是我第一次遇到这样的问题。我看到了我要问的问题,但是随机用户能够登录到数据库,但无权做任何事情。 我查看了 MYSQL.user 表,没有用户名的用户无权操作数据。输出如下
| localhost | root | Y | Y | Y |
| 127.0.0.1 | root | Y | Y | Y |
| localhost | | N | N | N |
......
有人可以建议为什么会发生这种情况,是否有解决方案(解决方法?)?
【问题讨论】:
-
我想这与你在 mysql 而不是 mysqldb 上设置的数据库权限有关
-
我的猜测是你需要在 python 端控制访问。你如何构建你的连接字符串?请告诉我您没有为每个应用用户创建一个 mysql 用户。
-
谢谢。我的错,我真的想创建不同的应用程序用户作为不同的数据库用户。但即使我为访问控制创建了一组表,它也不能解决问题的根源。每个人都可以通过命令行编辑这些用户表。你有什么想法吗?
-
为什么不用mysql的访问权限?
-
您能举个例子吗?正如我在上面的清单中所示,没有用户名的用户根本没有任何权限('N'),但可以使用 INSERT。可能你在谈论不同的权限?
标签: python mysql python-2.7