首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MySQL连接

PHP MySQL连接
EN

Stack Overflow用户
提问于 2010-07-03 01:23:59
回答 3查看 235关注 0票数 0

我在网上找了很长时间才找到答案。我如何控制用户和MySQL之间的连接。我的问题是,当我们通过php创建mysql数据库时,实际上是在mysql的用户表中创建用户。当我连接到数据库时,我们创建的所有用户都使用相同的mysql用户帐户连接到数据库。我是否需要在mysql用户表中创建任何用户(我的意思是系统表包含用户)?那么我们用来登录网站的用户将与sql数据库用户表中的用户匹配吗?然后,每个用户都有自己的mysql用户帐户来连接到数据库。我该怎么处理这种情况呢?干杯

EN

回答 3

Stack Overflow用户

发布于 2010-07-03 01:52:46

我想我明白你的问题了,你问的是数据库端的用户管理。

默认情况下,数据库中只有一个用户拥有(当然)权限。这个用户在大多数情况下都会被命名为root (这取决于您的DBMS,但对于MySQL,情况就是这样)。

所以你有两个选择:

  • 为每个应用程序创建一个新用户,仅作为所需的权限,如READINSERTUPDATE。如果您的应用程序需要,请将访问database.
  • Create的所有应用程序的root授予他DELETE root,该用户将具有最常见的权限,该权限将用于需要与数据库交互的所有应用程序。

无论您做什么,请记住,用户可以做他有特权的任何事情,所以要小心GRANT过高的特权。

我认为在每个应用程序的基础上拥有一个用户是一个最佳实践(至少对我来说一直是这样,我认为它工作得很好),例如,当我想要一个应用程序Blog时,我会创建一个拥有INSERTUPDATESELECT等权限的用户blog

再编辑一次:因此,简短地回答您的问题:您不需要为每个应用程序用户提供一个MySQL用户。

票数 4
EN

Stack Overflow用户

发布于 2010-07-03 01:55:59

应用程序中的每个用户都应该是MySQL中的用户,而不是。通常,您应该有一个供整个应用程序使用的MySQL用户。

票数 1
EN

Stack Overflow用户

发布于 2010-07-03 02:00:14

更好的做法是为每个应用程序创建一个用户。授予该用户执行存储过程的权限,而不授予其他权限。为允许该用户执行的任何类型的数据库活动创建存储过程。它为您提供了另一个安全屏障。

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

https://stackoverflow.com/questions/3167823

复制
相关文章

相似问题

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