在 vagrant bootstrap shell 脚本中安装 mysql-server (如何跳过安装?)

在 vagrant bootstrap shell 脚本中安装 mysql-server (如何跳过安装?)

我确实尝试在我的 Vagrant Ubuntu 12.04 LTS 虚拟机上安装 mysql-server。当我这样做时,安装程​​序会自动启动。我可以在 Vagrant 输出中看到这一点:

虽然不是强制性的,但强烈建议您为 MySQL 管理“root”用户设置密码。 │ │ │ 如果此字段留空,密码将不会更改。 │ │ │ 的新密码MySQL“根”用户

之后,输出文本变得混乱 — ± ├⎺ ⎼␊⎻┌▒␌␊ ┌␋␉⎽─┌␋├␊3-0 3.7.9-2┤␉┤┼├┤1 (┤⎽␋┼± ...— 但相当冗长并且充满绿色和红色,所以我相信安装的其余部分已经完成。

但我可以确认缺少安装:

sudo apt-get install --just-print mysql-server-5.5 
...
The following NEW packages will be installed:
  mysql-server-5.5

如何通过 shell 脚本发送正确的信号来配置 MYSQL 服务器?或者,如果我不能,如何停止配置的自动启动或在启动后终止安装程序,同时仍然安装软件包?

答案1

您可以在运行 apt-get 安装之前添加 debconf-set-selections 命令,在引导文件中设置 MySQL root 密码:

#!/usr/bin/env bash

debconf-set-selections <<< 'mysql-server mysql-server/root_password password MySuperPassword'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password MySuperPassword'
apt-get update
apt-get install -y mysql-server

我认为这适用于任何基于 Debian 的系统。我每天都使用它,盒子是完全自动构建的。

答案2

您可能想了解一下木偶- 它非常适合自动安装和配置软件。还有一个MySQL模块,但我没试过。

相关内容