如何在 debian:buster 中使用脚本安装 mysql-server 而不会询问任何配置问题?

Posted

技术标签:

【中文标题】如何在 debian:buster 中使用脚本安装 mysql-server 而不会询问任何配置问题?【英文标题】:How to install mysql-server in debian:buster using script without being asked any configuration questions? 【发布时间】:2020-04-24 09:37:23 【问题描述】:

当我运行此命令时,我正在尝试使用 Dockerfile 和 shell 脚本在 debian:buster 中安装 mysql-server

apt install -y mysql-server,在安装过程中我需要输入密码并重新输入,如图所示:

我做了一些搜索,发现如何在此页面中使用 here-string Install MySQL on Ubuntu without a password prompt

所以因为我正在使用这个命令apt install -y mysql-server,所以我这样做了:

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

但是当我运行它们时,我仍然得到同样的东西,我需要输入密码。

这是我的 Dockerfile:

From debian:buster

COPY ./run.sh /

CMD bash /run.sh

这是run.sh:

apt update
apt install -y nginx gnupg wget lsb-release
wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
printf "1\n1\n4\n" | dpkg -i mysql-apt-config_0.8.13-1_all.deb           //version selected is mysql-5.7
apt update
service nginx start
bash                                                                     //just to stay in the bash of container and don't quit from it.

顺便说一句,我正在尝试从容器的 bash 中安装 mysql-server,然后我将在我的脚本中编写命令。

你可以在上面的图片中看到一些奇怪的东西:

Configuring mysql-community-server
----------------------------------

即使我是用这个命令安装的 apt-get -y install mysql-server 不是这个

apt-get -y install mysql-community-server

所以你知道我在这里错过了什么吗?

【问题讨论】:

【参考方案1】:

使用

shell> sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password mypassword"
shell> sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password mypassword"
shell> sudo DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server

Documentation

【讨论】:

非常感谢你是救生员,我需要的只是 RTFM,所以这取决于我使用的版本。

以上是关于如何在 debian:buster 中使用脚本安装 mysql-server 而不会询问任何配置问题?的主要内容,如果未能解决你的问题,请参考以下文章