gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:45:07 25 4
gpt4 key购买 nike

我正在用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com