0

特权用户如何在 MySQL 上工作?是否所有使用社交网站的用户都具有唯一的用户权限才能连接到数据库,或者所有用户都使用相同的权限,例如:

$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word'; 
4

2 回答 2

1

不,一般来说会有一个(或少量)MySQL 用户,PHP 脚本(或其他服务器端代码)将使用这个用户来完成所有数据的获取和设置。在某些情况下,创建一些具有不同权限级别的 MySQL 用户是有帮助的,作为附加级别的安全性(因此一般select查询使用仅具有select权限的用户运行,inserts并由updates具有这些权限的单独用户处理)。如果您允许远程计算机直接访问 MySQL 数据库(对于合作伙伴网站或应用程序),也很常见为该连接创建一个特定的 MySQL 用户,其权限仅限于他们需要的权限(否dropmodify权限,例如)并仅限于他们的 IP 地址(您可以将 MySQL 用户限制为仅来自单个地址的连接)。

底线是,您通常应该只创建几个用户,并且您的网站/应用程序将只使用这个小用户池来执行所有查询。此外,使用具有尽可能少的权限来完成任务的用户访问数据库是一种很好的做法(在合理范围内...不要为每个可能的操作创建单独的用户...通常 1-3 个用户应该涵盖所有您想要的权限级别)。如果您创建大量用户,您将 (a) 减慢 MySQL,因为它必须访问更大的权限表;(b) 如果应用程序发生变化,管理权限将变得更加困难;(c) 调试权限问题更加痛苦(如果存在权限问题,您的 PHP 脚本在做什么和报告方面具有更大的灵活性)。

于 2012-02-16T00:12:23.173 回答
0

通常,您有一个数据库连接,并将每个用户帐户存储在具有相应用户名和密码的“用户”表中。

于 2012-02-15T23:59:08.053 回答