как установить mysql версии 8.0.21 с помощью ansible

#mysql #automation #ansible

Вопрос:

Я пытаюсь установить MySQL версии 8.0.21 с помощью ansible. Я загрузил необходимый файл tar из сообщества MySQL и попытался установить его с помощью команды dpkg, но обнаружил проблемы при передаче паролей.

 - name: Set MySQL root password before installing
  debconf: name='mysql-server' question='mysql-server/root_password' value='{{MySQL_root_pass | quote}}' vtype='password'
  become: yes

- name: Confirm MySQL root password before installing
  debconf: name='mysql-server' question='mysql-server/root_password_again' value='{{MySQL_root_pass | quote}}' vtype='password'
  become: yes

- name: Install my_package
  apt: deb="required_package.deb"
  become: true
  become_method: sudo
 

Это мой ЯМЛ.Версия mysql устанавливается с пустым паролем

Ответ №1:

А как насчет роли герлинггая

 ansible-galaxy install geerlingguy.mysql
 

После установки вам yml понравится вот так:

 - hosts: YOUR_SERVER_IP_HERE
 
  become: yes
 
  vars_files:
 
    - vars/main.yml
 
  roles:
 
    - { role: geerlingguy.mysql }
 
  pre_tasks:
 
    - name: Install the MySQL repo.
 
      yum:
 
        name: http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
 
        state: present
 
      when: ansible_os_family == "RedHat"
 
    - name: Override variables for MySQL (RedHat).
 
      set_fact:
 
        mysql_daemon: mysqld
 
        mysql_packages: ['mysql-server']
 
        mysql_log_error: /var/lib/mysql/error.log
 
        mysql_syslog_tag: mysqld
 
        mysql_pid_file: /var/run/mysqld/mysqld.pid
 
        mysql_socket: /var/lib/mysql/mysql.sock
 
      when: ansible_os_family == "RedHat"
 

Обязательно vars/main.ym обновите файл l, включая желаемую версию!

Комментарии:

1. Спасибо, что уделили мне время. Я использую машину ubuntu, и мне нужна точная версия mysql 8.0.21 . Как установить точную версию , где я могу ее упомянуть?