Installing Percona/MySQL unattended on Ubuntu

后端 未结 5 1587
闹比i
闹比i 2020-12-28 08:29

I can install MYSQL on Ubuntu without prompts with the code below:

dbpass=\"mydbpassword\"
export DEBIAN_FRONTEND=noninteractive
echo mysql-server-5.1 mysql-         


        
5条回答
  •  醉梦人生
    2020-12-28 09:05

    If you understand what is going on underneath the hood it makes it easier to debug and figure out why this isn't working.

    When you install a debian package often times you get questions about licenses, passwords, locations, etc. All of those values are stored in debconf. If you are wanting to do an unattended installation you can preload those answers into debconf so you aren't prompted for those questions, since they are already answered.

    The challenge comes when understanding how to properly answer those questions. To do this you first need to install the debconf-utils

    apt install debconf-utils

    next you need to manually install your package.

    In my case I am installing the percona-xtradb-cluster-57 package.

    wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb
    sudo dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb
    sudo apt-get update -y
    sudo apt-get install -y percona-xtradb-cluster-57
    

    After this has been installed you can get the selections that have been set by using the deb-get-selections tool.

    debconf-get-selections | grep percona
    

    In the response you will see the selections that were set. In this case

    percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/root-pass password
    percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/re-root-pass  password
    percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/remove-data-dir   boolean false
    percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/root-pass-mismatch    error
    percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/data-dir  note
    

    You can now copy the values that you want to set. In my case I want automatically set the root password.

    In your automated installation script you can now use the debconf-set-selections tool to automate setting the values for the root password question and the confirm root password question.

    echo "percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/root-pass password my_temp_password" | debconf-set-selections
    echo "percona-xtradb-cluster-server-5.7   percona-xtradb-cluster-server-5.7/re-root-pass  password my_temp_password" | debconf-set-selections
    

    Happy Automating!

提交回复
热议问题