| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- ---
- - name: gather os specific variables
- include_vars: "{{ item }}"
- with_first_found:
- - files:
- - "{{ ansible_distribution|lower | replace(' ', '_')}}-{{ ansible_architecture }}.yml"
- - "{{ ansible_distribution|lower }}-{{ ansible_distribution_major_version|lower|replace('/', '_') }}.yml"
- - "{{ ansible_distribution|lower }}-{{ ansible_distribution_release|lower }}.yml"
- - "{{ ansible_distribution|lower }}-{{ ansible_distribution_major_version|lower|replace('/', '_') }}.yml"
- - "{{ ansible_distribution|lower }}.yml"
- - "{{ ansible_os_family|lower }}.yml"
- - "{{ ansible_distribution|lower| replace(' ', '_')| replace('_\"_', '') }}.yml"
- paths:
- - ../vars
- tags:
- - facts
- - name: Install mariadb
- package:
- name: "{{ item }}"
- state: present
- failed_when: false
- loop: "{{ mariadb_package_info.pkgs }}"
- - name: pips for mysql/mariadb
- pip:
- name: PyMySQL
- vars:
- ansible_python_interpreter: /usr/bin/python3
- - name: copy my.cnf
- template:
- src: my.cnf.j2
- dest: /etc/my.cnf
- backup: yes
- - name: mariadb config hack
- shell: |
- if [ ! -d /etc/my.cnf.d ] && [ -d /etc/mysql ]; then
- ln -sf /etc/mysql /etc/my.cnf.d
- fi
- if [ -f /etc/mysql/mariadb.conf.d/50-server.cnf ] && grep -qP 'bind-address *= *127.0.0.1' /etc/mysql/mariadb.conf.d/50-server.cnf; then
- cp -vf /etc/mysql/mariadb.conf.d/50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf.$(date +"%Y%m%d-%H%M%S").bak
- sed -i 's#bind-address *= *127.0.0.1#bind-address = 0.0.0.0#' /etc/mysql/mariadb.conf.d/50-server.cnf
- fi
- systemctl restart mariadb
- args:
- executable: /bin/bash
- - name: start mariadb
- systemd:
- name: mariadb
- enabled: yes
- state: started
- - name: Change root password
- mysql_user:
- login_unix_socket: "{{ login_unix_socket }}"
- login_user: "{{ db_user }}"
- login_port: "{{ db_port | default(3306) }}"
- login_password: "{{ db_password }}"
- password: "{{ db_password }}"
- name: "{{ db_user }}"
- priv: '*.*:ALL,GRANT'
- host: "{{ item }}"
- check_implicit_admin: true
- loop:
- - "localhost"
- - "%"
- - "::1"
- - "127.0.0.1"
- vars:
- ansible_python_interpreter: /usr/bin/python3
- - name: Remove all anonymous user accounts
- mysql_user:
- name: ''
- host_all: yes
- state: absent
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- - name: Remove test database
- mysql_db:
- name: test
- state: absent
- login_user: "{{ db_user }}"
- login_password: "{{ db_password }}"
- - when: groups['mariadb_ha_nodes'] | length > 1
- include_tasks: 05ha.yml
|