首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有select权限的MySQL用户仍然可以更新

问具有select权限的MySQL用户仍然可以更新
EN

Stack Overflow用户
提问于 2015-01-16 18:33:23
回答 1查看 622关注 0票数 0

我有一个带有OpenShift数据库的MySQL应用程序,我为其配置了一个ODBC连接,这样用户就可以将Access用作表的只读前端。我创建了这样一个用户,但是他们能够从Access前端更新数据,并且它反映在数据库中。我所做的是:

我创建了一个名为“reports”的用户,只允许对一个模式进行只读访问,即“reports”。

代码语言:javascript
复制
GRANT SELECT ON reviews.* TO reports@'%' IDENTIFIED BY `password`;

当我跑的时候

代码语言:javascript
复制
SELECT * FROM mysql.user WHERE user = 'reports';

我得到了所有的N和0。我知道"Select_priv“没有'Y‘,因为它不是一个全局select priv,只在一个模式上,所以我认为它是可以的。

当我跑的时候

代码语言:javascript
复制
SHOW GRANTS FOR 'reports'@'%';

我得到了

允许使用。用密码“字符串”标识的“报告”@‘%’ 允许选择‘评论’。*到‘报告’@‘%’;

我料到的。

代码语言:javascript
复制
SELECT * FROM db where User = 'reports';

用户|Select_priv|Insert_priv|Update_priv|..。 审查报告.

但是,当我进入Access,编辑一些数据,然后ssh进入数据库并查看数据库时,更新是有效的。

在连接Access之前,我使用rhc port-forward -a applicationname,并使用rhc ssh applicationname从服务器查看MySQL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-16 19:42:24

在Access中有一个错误,如果您给它提供数据源,然后尝试更改它,它实际上不会释放您的初始数据源,即使它看起来是这样。我最初用All Privileges帐户设置了Access DB,然后将数据源更改为只读帐户,但它继续在幕后使用我的All Access帐户。使用odbcad32.exe删除数据源证明了这一点,因为我刚刚收到连接错误,尽管它说我是通过有效的只读帐户连接的。我从一开始就使用只读数据源创建了一个新的Access DB,它按预期工作。

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

https://stackoverflow.com/questions/27990527

复制
相关文章

相似问题

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