安全性是非常重要的,特别是在开始连接MySQL数据库到网站的时候。在本节中,我们将讨论保护数据库应该采取的预防措施。
12.2.1 从操作系统角度来保护MySQL
如果正在运行类似于UNIX的操作系统,那么以root用户的身份运行MySQL服务器(mysqld)是一个糟糕的主意。因为,这可能赋予了一个MySQL普通用户读写操作系统任何地方的文件的权限。这一点是非常重要的,但是又容易被忽略,它是曾经用来攻击Apache网站的某种著名方法。(幸运的是,攻击该网站的黑客是“白帽子”(好人),他们采取的唯一行动是加强安全)。
创建一个专门用来运行mysqld的特定MySQL用户是一个好主意。此外,还可建立只能够由MySQL用户访问的目录(保存物理数据的地方)。在许多安装方式中,服务器都是设置为以MySQL组中的userid为mysql的用户来运行服务器的。
然而,更理想的办法是,应该将MySQL服务器建立于防火墙后。这样,MySQL服务器就可以终止来自未授权机器上的连接;检查一下是否可从服务器之外,以端口号为3306的方式连接MySQL。这是MySQL运行的默认端口,可以在防火墙中关闭它。