从 Bash 脚本安装 MySQL

Ali*_*xel 2 yum ubuntu centos apt mysql

我正在编写一个 bash 脚本来自动化部署 VPS 服务器的过程,但是在尝试从aptitude/apt-get或安装 MySQL 时遇到了一些问题yum,这是我目前所拥有的:

if [ "$OS" == 'centos' ]; then
    yum -y install  mysql-server > /dev/null 2>&1
elif [ "$OS" == 'ubuntu' ]; then
    aptitude -y install mysql-server > /dev/null 2>&1
fi
Run Code Online (Sandbox Code Playgroud)

似乎脚本一直在无限运行,我怀疑问题是因为该mysql-server包似乎显示了一个向导来指定 MySQL 根密码,但我不知道如何从脚本中克服或填写密码。

有谁知道我如何解决这个问题?

Ger*_*ert 6

您可以使用DEBIAN_FRONTEND环境变量。

DEBIAN_FRONTEND=noninteractive aptitude -y install mysql-server > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

或者,如果您将运行 1 个以上的安装,您可能需要在脚本顶部添加一个导出

export DEBIAN_FRONTEND=noninteractive
aptitude -y install mysql-server > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)