--- - name: /var/lib/mysql bind mount in fstab lineinfile: dest: /etc/fstab line: '/data/mysql /var/lib/mysql none bind 0 0' register: fstab_mysql - name: mount /var/lib/mysql shell: 'mkdir -p /var/lib/mysql && mv /var/lib/mysql /data && mkdir -p /var/lib/mysql && mount /var/lib/mysql' when: fstab_mysql.changed - name: install packages, jessie tags: apt apt: name: - mysql-server - mysql-client state: present when: - ansible_distribution == "Debian" - ansible_distribution_major_version == "8" - name: install packages, stretch+ tags: apt apt: name: - mariadb-server - mariadb-client state: present when: - (ansible_distribution == "Debian" and ansible_distribution_major_version|int() >= 9) or (ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int() >= 20) - name: mysql conf copy: src: hws.cnf dest: /etc/mysql/conf.d - name: is root password set? stat: path: /etc/mysql/jelszo register: mysql_jelszo - name: pwgen delegate_to: localhost command: "pwgen -s 16 1" register: pwgen when: not mysql_jelszo.stat.exists - name: write mysql root passwd to file copy: content: "{{ mysql_root | default(pwgen.stdout) }}\n" dest: /etc/mysql/jelszo mode: "0400" when: not mysql_jelszo.stat.exists - name: set mysql root passwd shell: "echo \"SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{{ mysql_root | default(pwgen.stdout) }}');\" | mysql -u root" when: not mysql_jelszo.stat.exists # vim: set tabstop=2 shiftwidth=2 expandtab smarttab: