在Ubuntu上纯粹从bash脚本安装mysql 5.7

在Ubuntu上纯粹从bash脚本安装mysql 5.7,mysql,linux,bash,shell,ubuntu,Mysql,Linux,Bash,Shell,Ubuntu,我想要一个bash脚本,它可以安装MySQL 5.7实例而不需要任何手动输入 我一直在关注,它说对于5.7,您必须运行以下命令,然后将命令放入提示符(下面的屏幕截图) 如果需要使用提示,如何自动安装?我应该试着模拟击键吗?还是我走错了方向 您正在以错误的方式进行操作。你不需要那个包裹。该软件包仅用于安装mysql repo 如果不需要提示,您需要手动设置mysql存储库。假设您使用的是trusty(Ubuntu 14.04): 我想这可能对你有用。显示了使用早期版本(5.6)的整个过程 总而言之

我想要一个bash脚本,它可以安装MySQL 5.7实例而不需要任何手动输入

我一直在关注,它说对于5.7,您必须运行以下命令,然后将命令放入提示符(下面的屏幕截图)

如果需要使用提示,如何自动安装?我应该试着模拟击键吗?还是我走错了方向


您正在以错误的方式进行操作。你不需要那个包裹。该软件包仅用于安装mysql repo

如果不需要提示,您需要手动设置mysql存储库。假设您使用的是trusty(Ubuntu 14.04):

我想这可能对你有用。显示了使用早期版本(5.6)的整个过程

总而言之,你应该:

  • 导出一个名为DEBIAN_FRONTEND的变量,其值为“noninteractive”
  • 使用debconf set selections设置根密码(用于MySQL服务器)
  • 安装mysql-server-5.7包
  • 之后运行安全安装

    export DEBIAN_FRONTEND="noninteractive"
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password rootpw"
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password rootpw"
    sudo apt-get install -y mysql-server-5.7
    mysql_secure_installation
    
    导出DEBIAN\u FRONTEND=“非交互式”
    sudo debconf set selections这个答案是Bimmy和khrm答案的组合和修改

    步骤1:

    您必须设置
    debconf
    值,该值将自动填充安装提示的值

    导出DEBIAN\u FRONTEND=“非交互式”
    sudo debconf set selections@tt_Gantz忽略下一票。跟随我所给予的。你不需要那个软件包我已经给出了这个软件包的功能的答案。@GeraldSchneider他的主要问题是安装mysql服务器。不及时。他得到了提示,因为软件包安装程序已重新启动。因此,取消反对票。首先,冷静下来。有些人不全天候使用这个网站,所以当你没有立即得到答案时,没有必要变得个人化。在我看来,问题是“如何在安装软件包期间自动回答提示?”。您的回答没有解决这个问题,它只对这个特定包的特定情况有用。这就是为什么你投了我一票。因此,我们试图以一种帮助其他有相同或类似问题的人的方式来积累问题和答案。你的答案帮助其他人的可能性很小。同时发布的第二个答案直接解决了实际问题(在我看来),可以很容易地适用于其他软件包,并且适用于每一个基于debian的发行版。因此我投了一票。你可能已经注意到OP还没有对任何建议做出反应。只要OP没有以任何方式澄清您的解决方案是有帮助的,我就不认为有任何理由撤回我的投票。我不介意它是如何发生的,只要它可以通过bash脚本来完成,这就是为什么我在问题的最后提到“或者我是以错误的方式进行的吗?”。此答案仍然需要在提示中输入密码。然而,再加上@BimmyAndJimmy配置密码的答案,我能够让它进入工作状态,它从pgp.mit.edu获得了密钥。我从这里得到了这个结论:这个软件包是独立完成的。这个答案在很多方面都是错误的。首先,如果用户明天需要mysql 5.8怎么办?它不会出现在发行版回购中。目前在trusty repo中,mysql5.7不存在。运行所有命令后,我得到一个错误,说它找不到mysql-server-5.7,因为在发行版repo中找不到mysql-server-5.7。您必须启用mysql repo。恭喜,很高兴能帮助您。
    sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5
    cat <<- EOF > /etc/apt/sources.list.d/mysql.list
    deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-5.7
    EOF
    sudo apt-get update
    sudo apt-get install -y mysql-server-5.7
    mysql_secure_installation
    
    deb http://repo.mysql.com/apt/ubuntu/ trusty workbench-6.2
    
    export DEBIAN_FRONTEND="noninteractive"
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password rootpw"
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password rootpw"
    sudo apt-get install -y mysql-server-5.7
    mysql_secure_installation