python - 随机用户可以访问 mysql 数据库

标签 python mysql python-2.7

我正在用 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 中当然有针对您的问题的解决方案。

使用 GRANT 和 REVOKE 来执行此操作,这些位于 SQL 中的 DATA CONTROL LANGUAGE 之下。

我举例说明如何使用它..

mysql> revoke all privileges on *.* from 'root'@'localhost';

使用这个查询,我撤销了 root 用户对所有数据库的所有表的所有权限。 如果在任何特定数据库的情况下我想要这个......

mysql> revoke all privileges on exampledatabase.* from 'root'@'localhost';

如果我想要在任何特定表格的情况下使用它......

mysql> revoke all privileges on exampledatabase.mytable from 'root'@'localhost';

如果我想在任何特定表的情况下限制特定权限,那么..

mysql> revoke select on exampledatabase.mytable from 'root'@'localhost';

现在我想在特定表的情况下向 root 用户授予特定权限..

mysql> grant select on exampledatabase.mytable
   to 'root'@'localhost' identified by password
   '*A4B6157319038724E3560894F7F932C8886EBFCF' with grant option ;

关于python - 随机用户可以访问 mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836076/

相关文章:

android - 如何让kivy小部件暂停

python - 减少构建字典/字符串的嵌套 for 循环(分支树样式)

python - 从随机矩阵生成样本

python - 本地运行 Dash 应用程序时出错,无法到达 "This site can’”

php - 每行mysql数据的超链接

php - 我的子查询将执行时间增加 20 秒。我怎样才能加快速度?

python 2.7 : How to identify unique string from string in pandas dataframe and print designated value in a specified column based on the result?

python - Eric4 Python IDE - 自动保存和快速脚本/项目启动、运行

mysql - 每个项目的附加查询?

python - 在度数符号前获取一个字符