首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >随机用户可以访问mysql数据库

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

Stack Overflow用户
提问于 2013-09-17 03:46:37
回答 1查看 247关注 0票数 4

我在python和MySQL(MySQLdb,PyQT)上写了一个应用程序,遇到了一个问题。我碰巧在登录表单上输入一个随机值时,这个随机用户可以访问数据库。该用户不能使用SELECT,但可以使用INSERT!我是MySQL的新手,这是我第一次遇到这样的问题。我看到了像我问的问题一样的问题,但是有一个随机的用户能够登录到db,但没有权限做任何事情。我查看了MYSQL.user表,没有用户名的用户没有权限操作数据。输出结果如下所示

代码语言:javascript
复制
| localhost                | root             | Y           | Y           | Y               |
| 127.0.0.1                | root             | Y           | Y           | Y           |
| localhost                |                  | N           | N           | N           |
......

有人能告诉我为什么会这样吗?有没有解决方案(解决办法?)?

EN

回答 1

Stack Overflow用户

发布于 2013-11-27 14:47:16

是的,当然在mysql中有一个解决你的问题的方法。

使用GRANT和REVOKE来完成此操作,它们位于SQL中的数据控制语言之下。

我给出了一个如何使用它的例子。

代码语言:javascript
复制
mysql> revoke all privileges on *.* from 'root'@'localhost';

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

代码语言:javascript
复制
mysql> revoke all privileges on exampledatabase.* from 'root'@'localhost';

如果我想在任何特定的表的情况下这样做,那么..

代码语言:javascript
复制
mysql> revoke all privileges on exampledatabase.mytable from 'root'@'localhost';

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

代码语言:javascript
复制
mysql> revoke select on exampledatabase.mytable from 'root'@'localhost';

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

代码语言:javascript
复制
mysql> grant select on exampledatabase.mytable
   to 'root'@'localhost' identified by password
   '*A4B6157319038724E3560894F7F932C8886EBFCF' with grant option ;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18836076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档