我正在使用 SSH 配置构建一个 Vagrant box (CentOS 6.4)。
一切正常,LAMP 组件已安装并启动,但我已经到了应该保护 MySql(设置 mysql 密码等)的步骤。
可以运行 mysql_secure_installation,但它不能在非交互模式下运行。
我可以跑
/usr/bin/mysqladmin -u root password 'newpassword'
但如果我多次提供同一个盒子,Mysql 会在第一次接受新密码,但随后会报错。
是否有一种优雅的方法可以在配置时自动保护 MySql? (我没有使用 Chef/Puppet,只是简单的 SSH 配置)
最佳答案
一个可能的方法是:
/usr/bin/mysql -uroot -pnewpassword -e 'SELECT CURDATE();' || /usr/bin/mysqladmin -u root password 'newpassword'
说明:脚本首先尝试使用新密码连接mysql,只有失败(即密码尚未设置)才执行设置命令。
关于mysql - vagrant ssh 配置 - mysql 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18812293/