MySQL 5.6在安全性与易用性的平衡方面确实堪称改变游戏规则的杰作在MySQL 5.6版本之前MySQL的默认安装机制始终坚持创建一个未受密码保护的root 账户且禁止任何匿名用户访问本地主机但这样仍然无法阻止用户实施DoS攻击或是摧毁MySQL服务器
不过在早期版本中我们仍然能够想办法解决这些问题举例来说Debian/Ubuntu安装脚本会以交互方式建议我们为缺乏保护机制的root账户设定密码不过大部分用户仍然习惯于通过不设密码的root账户进行MySQL安装
这一老大难问题终于在全新MySQL 5.6版本的安装机制中得到解决!在向CentOS6环境下安装官方RPM版本时系统返回以下内容
由此可见新的安装机制会在默认情况下为root账户设定一个随机密码而不再像过去那样将密码内容设置为空白更令人惊喜的是密码内容并非保存在root目录下的my.cnf文件中而是被保存在被隔离的mysql_secret文件处这样一来大家必须正确输入密码才能完成与服务器的首次连接由于密码内容随机我们根本不必担心给恶意人士留下可乘之机另外在修改随机密码之前我们无法对MySQL Server进行任何操作
当然大家也可以采用过去那种传统机制将账户密码移除我在自己笔记本电脑上VirtualBox中运行的MySQL就没有设置密码这是因为我只通过它进行测试
好了至少在RPM安装机制当中MySQL的安全性得到进一步增强但却也给用户在安装之后的使用方面带来一点点不便我希望这样的变动能切实提升安全效果同时也不至于因为安装流程过于复杂而吓跑太多潜在用户