为每个实际用户创建用户?

时间:2012-09-03 02:17:30

标签: php mysql scalability

我正试图让我曾经温馨的网站能够吸引超过两个用户。是否可以扩展为每个注册我网站的人运行

创建一个新的MySQL用户
CREATE USER $userName [IDENTIFIED BY [PASSWORD] '$userPass']

每次有人注册?然后,我会以他们的名义设置mysql_connect()次来电。

或者,做一些像

这样的好处/注意事项
 CREATE USER genericSiteUser [IDENTIFIED BY [PASSWORD] 'sitePass']

并将$userName放在一列中以跟踪谁留下了哪些评论等?或者有没有第三种方法比这两种更好?

2 个答案:

答案 0 :(得分:2)

创建数据库用户不可扩展,也不安全。您应该创建一个具有最少权限的数据库用户(理想情况下只插入/选择/更新/删除),然后使用表来跟踪用户。

然后,您可以在注释表中为用户表创建外键。

答案 1 :(得分:0)

否 - MySQL CREATE USER命令用于授予用户访问MySQL数据库本身的权限。它永远不应该被普通的应用程序调用;实际上,良好的安全实践要求应用程序使用的数据库用户不应具有管理用户所需的SUPER权限。

由于您的应用程序的用户与用于访问MySQL的用户凭据完全无关,因此您的应用程序应该在数据库表中维护其用户的数据,就像您的应用程序使用的任何其他数据一样。