首页 > 解决方案 > 如何使用 ansible 安装 mysql 版本 8.0.21

问题描述

我正在尝试使用 ansible 安装 MySQL 版本 8.0.21。我已经从 MySQL 社区下载了所需的 tar 文件并尝试使用 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

这是我的 YAML。mysql 版本是用空密码安装的

标签: mysqlautomationansible

解决方案


geerlingguy的角色怎么样

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.yml 文件,包括您想要的版本!


推荐阅读