1)操作系统。在其OS(操作系统)上创建某一用户来专门运行MySQL,这样可以对此用户的权限加以限制来提高安全性。试想,如果在运行类似UNIX的OS,以root用户的身份运行MySQL服务器,这样可能赋予了一个MySQL普通用户读写OS任何地方的文件的权限。防止非管理员用户访问WEB服务器中的mysqladmin程序。另外,把MySQL服务器建立在Firewall(防火墙)后(这样可终止未授权主机的连接)或改变其默认端口,都可进一步提高其安全性。
2)密码。这是大家都比较熟悉的。务必为所有用户设置复杂的密码。如果需要在脚本文件保存密码(如db_connect.php),必须小心把此文件保存在WEB文档树结构以外,并且只能由特定的用户进行访问。
3)用户权限。利用MySQL权限系统,为每个用户配置其所配对的权限(即必须的,最少的,例如类型表只授予SELECT权限,订单表中只授予INSERT权限等),如果不是绝对需要,不要将GRANT,PROCESS,FILE,SHUTDOWN和RELOAD等权限授予任何非管理员的用户。建立用户时,其连接主机的权限也得加以确认,应该避免在主机名中使用通配符,还有在host表中使用IP地址而不是域名(这样可以在DNS位置避免错误问题)。
4)WEB问题。务必过滤来自用户的所有数据。