我已经习惯了mysql的用户权限。
GRANT ALL PRIVILEGES ON db_base.phonebook TO db_user @'%' IDENTIFIED BY 'db_passwd';以及其他影响特定用户如何与mysql交互的事情。我有一个由我运行的程序创建的数据库,它有自己的权限。我不知道如何编辑那个数据库的权限。是的,这句话用词很差,所以我给你们看:
(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数据库。如何更改数据库而不是用户的优先级?谢谢你的帮助和理解。
发布于 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“,以启用对更细粒度的权限配置的完全访问-否则它只会显示全局权限。
https://stackoverflow.com/questions/1623390
复制相似问题