mysql - vagrant ssh 配置 - mysql 密码

标签 mysql vagrant provisioning

我正在使用 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/

相关文章:

PHP 数组差异 - 由循环生成与逗号分隔字符串生成

ubuntu - Vagrant Ubuntu 无法调整磁盘大小

gulp - 尝试使用 gulp 使 browsersync 在 vagrant 中工作

node.js - 提供期间无法在 Vagrant 上安装 NPM

mysql - 如何在Mysql中为现有数据设置auto_increment起始值

mysql - SQL:如何随机选择并按最高排序

mysql - 将图片存储在MySQL数据库中

windows - 修改了以 Vagrant & ZSH 结尾的行

ios:如何在没有系留设备的情况下将新的 UDID 添加到配置文件?

ios - Xcode 4.5 Enterprise 签名问题(适用于 Xcode 4.3.3)