特权用户如何在MySQL上工作?

时间:2012-02-15 23:57:06

标签: php mysql database privilege

特权用户如何使用MySQL?所有使用社交网站的用户都拥有唯一的用户权限,以便连接到数据库,或者所有用户都使用相同的权限,例如:

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

2 个答案:

答案 0 :(得分:1)

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

最重要的是,您通常只应创建一些用户,并且您的网站/应用程序将仅使用这个小用户池来执行所有查询。此外,最好使用具有尽可能少的权限来完成任务的用户访问数据库(在合理范围内......不要为每个可能的操作创建单独的用户......通常1-3个用户应覆盖所有你想要的权限级别。如果你创建了大量的用户,你将(a)放慢MySQL的速度,因为它必须访问更大的权限表; (b)如果应用程序发生变化,管理权限将更加困难; (c)调试权限问题更加困难(如果存在权限问题,您的PHP脚本可以更灵活地执行操作和报告)。

答案 1 :(得分:0)

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