要通过PHP连接到MySQL,需要为PHP脚本创建一个用户。这里,我们同样应用最少权限原则:脚本能够进行哪些操作呢?
在大多数情况下,它们只需要从表中选择(SELECT)、插入(INSERT)、删除(DELETE)和更新(UPDATE)查询。因此,可以按如下方式设定这些权限:
mysql>grant select,insert,delete,update
->on books.*
->to bookorama identified by'bookorama123';
很明显,为了安全起见,应该选择一个更好的密码。
如果使用了Web主机服务,通常可以使用主机服务商在一个数据库上创建的其他用户类型权限。典型地,他们将提供相同的用户名和密码以用于命令行(建立表等)和用于Web脚本连接(查询数据库)。这是不够安全的。我们可以建立其他具有相同权限级别的用户,如下所示:
mysql>grant select,insert,update,delete,index,alter,create,drop
->on books.*
->to bookorama identified by'bookorama123';
继续上面的工作,可以再创建一个用户,因为我们将在下一节中使用这个用户。
可以输入quit命令退出MySQL监视程序。最好应该再以Web用户的身份登录,测试每件事情是否工作正常。如果所运行的GRANT语句已经执行了,但是尝试登录时,又被拒绝了,这通常是因为安装过程中还没有删除匿名账户。以root重新登录并且查阅附录A给出的关于如何删除匿名账户的介绍。删除匿名账户后,应该能够以Web用户身份重新登录了。