特权用户在MySQL上是如何工作的?是所有使用社交网络网站的用户都具有唯一的用户权限才能连接到数据库,还是所有用户都使用相同的权限,例如:
$dsn = 'mysql:host=localhost;dbname=social_site';
$username = 'members';
$password = 'pa55word'; 发布于 2012-02-16 08:12:23
不会,通常会有一个(或一小部分) MySQL用户,PHP脚本(或其他服务器端代码)将使用这一个用户来完成所有数据的获取和设置。在某些情况下,创建几个具有不同权限级别的MySQL用户作为附加的安全级别是很有帮助的(因此,一般的select查询是使用仅具有select权限的用户运行的,而inserts和updates由具有这些权限的单独用户处理)。如果您允许远程计算机直接访问MySQL数据库(对于合作伙伴、网站或应用程序),则通常也会为该连接创建一个特定的MySQL用户,其权限仅限于他们所需的权限(例如,没有drop或modify权限),并且仅限于其IP地址(您可以将MySQL用户限制为仅来自单个地址的连接)。
底线是,您通常应该只创建几个用户,并且您的网站/应用程序将只使用这一小部分用户来执行所有查询。此外,最好使用具有最少权限来完成任务的用户来访问数据库(在合理范围内...不要为每个可能的操作创建单独的用户...通常1-3个用户应该包括你想要的所有权限级别)。如果您创建了大量用户,您将(a)减慢MySQL的速度,因为它必须访问更大的权限表;(b)如果应用程序以后发生更改,则管理权限将更加困难;以及(c)调试权限问题将更加困难(您的PHP脚本在执行操作以及在出现权限问题时进行报告方面具有更大的灵活性)。
发布于 2012-02-16 07:59:08
通常,您只有一个数据库连接,并将每个用户的帐户存储在一个" users“表中,其中包含相应的用户名和密码。
https://stackoverflow.com/questions/9303529
复制相似问题