首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据库权限问题

MySQL数据库权限问题
EN

Stack Overflow用户
提问于 2009-10-26 06:43:07
回答 1查看 1.5K关注 0票数 1

我已经习惯了mysql的用户权限。

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON db_base.phonebook TO db_user @'%' IDENTIFIED BY 'db_passwd';

以及其他影响特定用户如何与mysql交互的事情。我有一个由我运行的程序创建的数据库,它有自己的权限。我不知道如何编辑那个数据库的权限。是的,这句话用词很差,所以我给你们看:

代码语言:javascript
复制
(root@localhost) [mysql]> SELECT host,db,user,select_priv,insert_priv FROM mysql.db;
+------+--------------------+------+-------------+-------------+
| host | db                 | user | select_priv | insert_priv |
+------+--------------------+------+-------------+-------------+
| %    | test               |      | Y           | Y           |
| %    | test\_%            |      | Y           | Y           |
| %    | lux_watertank_pmts | lux  | Y           | N           |
+------+--------------------+------+-------------+-------------+
3 rows in set (0.00 sec)

我想限制访问权限的test数据库。如何更改数据库而不是用户的优先级?谢谢你的帮助和理解。

EN

回答 1

Stack Overflow用户

发布于 2009-10-28 13:28:16

MySQL使用分层访问控制模型,即您可以在全局、数据库、表甚至列级别上指定权限。

我不认为你能做你想做的事情--MySQL的特权围绕着一个用户帐户。按数据库设置权限意味着特权表必须反过来查询,而不是这样。我尝试为用户使用一个%,但这也不起作用。

所以我认为你无法解决你的具体问题。

至于一般的权限:

虽然您可以使用GRANT语句手动修改它们,但我个人认为这样做很繁琐。相反,我建议您使用来自MySQL的MySQL GUI工具管理员工具。

如果直接修改特权表(这是可能的,但不一定是推荐的),请记住,您必须发出一个FLUSH PRIVILEGES命令,使这些更改生效。

它将允许您直观地配置权限。我不记得头上是否可以预先看到GRANT语句,但是您当然可以在后面的SHOW GRANTS FOR user@'host'语句中查看这些语句。

如果您以前从未使用过该工具,请注意:您必须转到Tools/Options菜单并启用"Show Global Privileges“、"Show Schema Object privileges”和"Show hosts in user list“,以启用对更细粒度的权限配置的完全访问-否则它只会显示全局权限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1623390

复制
相关文章

相似问题

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