我在网上找了很长时间才找到答案。我如何控制用户和MySQL之间的连接。我的问题是,当我们通过php创建mysql数据库时,实际上是在mysql的用户表中创建用户。当我连接到数据库时,我们创建的所有用户都使用相同的mysql用户帐户连接到数据库。我是否需要在mysql用户表中创建任何用户(我的意思是系统表包含用户)?那么我们用来登录网站的用户将与sql数据库用户表中的用户匹配吗?然后,每个用户都有自己的mysql用户帐户来连接到数据库。我该怎么处理这种情况呢?干杯
发布于 2010-07-03 01:52:46
我想我明白你的问题了,你问的是数据库端的用户管理。
默认情况下,数据库中只有一个用户拥有(当然)权限。这个用户在大多数情况下都会被命名为root (这取决于您的DBMS,但对于MySQL,情况就是这样)。
所以你有两个选择:
READ、INSERT或UPDATE。如果您的应用程序需要,请将访问database.root授予他DELETE root,该用户将具有最常见的权限,该权限将用于需要与数据库交互的所有应用程序。无论您做什么,请记住,用户可以做他有特权的任何事情,所以要小心GRANT过高的特权。
我认为在每个应用程序的基础上拥有一个用户是一个最佳实践(至少对我来说一直是这样,我认为它工作得很好),例如,当我想要一个应用程序Blog时,我会创建一个拥有INSERT、UPDATE、SELECT等权限的用户blog。
再编辑一次:因此,简短地回答您的问题:您不需要为每个应用程序用户提供一个MySQL用户。
发布于 2010-07-03 01:55:59
应用程序中的每个用户都应该是MySQL中的用户,而不是。通常,您应该有一个供整个应用程序使用的MySQL用户。
发布于 2010-07-03 02:00:14
更好的做法是为每个应用程序创建一个用户。授予该用户执行存储过程的权限,而不授予其他权限。为允许该用户执行的任何类型的数据库活动创建存储过程。它为您提供了另一个安全屏障。
https://stackoverflow.com/questions/3167823
复制相似问题