我已经阅读了许多文章和文章,这些文章和文章非常清楚地表明,为了在最坏的情况下达到最佳的损害限制,MySQL帐户应该只能执行其打算执行的操作,而不能执行其他操作。这很合理,因此我的数据库将有一个连接帐户来执行所有SELECT数据,另一个帐户要进行UPDATE和INSERT活动,这样,如果有人确实通过删除不应该的数据,那么SELECT该数据或UPDATE等就不那么容易了。你明白了。但是,我有各种数据库,并使用帐户来读取/ INSERT数据,并且此数据将输出到客户端页面,但是经常需要更新这些帐户,这些小事情例如在(网站)用户登录其帐户时进行更新帐户,或更新某种类型的点击计数器或其他次要功能。鉴于上面提到的问题,我觉得这有点像使用洪水扑灭篝火,允许对特权MySQL连接进行SELECT等操作,只是说用户Bob在4点最后登录:下午10点。我一直在网上寻找合适的指南,博客文章和文章,内容涉及如何使用多个MySQL特权帐户来最佳结构来完成必要的工作,并尽可能减少过多的特权,但是我发现并没有什么比这更多的了使用,(主要是因为我的措辞似乎吸引了有关设置网站用户的文章,或与这些关键字UPDATE相关的其他主题)我对当前的方法有一些想法,并希望对第2段中所述的最佳活动方法有一些反馈,通常是95%的:-/ ing和一些具体的SELECT实例,如果有的话以下是可能的(或者相反,这是非常糟糕的主意)? :我目前为每个连接特权用户都有单独的PHP连接对象。这是最好的方法吗?我可以以某种方式授予特权用户访问权限,使其仅更新特定表(甚至特定表列?)以及任何表中的UPDATE吗?这将是完美的。使用SELECT是一种常见方法吗?如果我创建了一个触发器(具有特权用户),然后让一个TRIGGER用户帐户访问触发器,这会有什么弊端吗?我可以设置某些用户只能使用某些触发器吗?还有另一种方法吗? 最佳答案 MySQL允许用户在数据库级别和单个表级别上设置不同的特权。有关GRANT(http://dev.mysql.com/doc/refman/5.7/en/grant.html)语法的文档提供了一个示例,该示例为在一个数据库上的用户设置所有特权,而仅选择对另一数据库中的表的访问。甚至可以为表中的特定列(http://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-column-privileges)设置特权,也可以为存储过程(http://dev.mysql.com/doc/refman/5.7/en/grant.html#grant-routine-privileges)设置特权。关于mysql - 如何正确处理多个特权MySQL连接帐户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37810077/ 10-13 04:51