mariadb-plugins.yml (1738B)
- name: Install MariaDB plugins
hosts: all
become: yes
become_user: root
become_method: sudo
tasks:
- name: Gather package facts
package_facts:
manager: auto
- name: Gather service facts
service_facts:
- name: exit if mariadb package is missing
fail:
msg: "Playbook halted: mariadb-server package is missing"
when: "'mariadb-server' not in ansible_facts.packages"
- name: exit if mariadb service is not running
fail:
msg: "Playbook halted: mariadb service is not running"
when: "ansible_facts.services['mariadb.service'].state != 'running'"
- name: install ansible dependencies
apt:
name: python3-pymysql
state: present
update_cache: yes
- name: Install metadata_lock_info plugin
mysql_query:
login_unix_socket: /var/run/mysqld/mysqld.sock
query: "INSTALL SONAME 'metadata_lock_info'"
register: plugin_install
failed_when:
- plugin_install.failed
- "'already installed' not in plugin_install.msg | default('')"
- name: check whether metadata_lock_info plugin is loaded
mysql_query:
login_unix_socket: /var/run/mysqld/mysqld.sock
query: "SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME='METADATA_LOCK_INFO'"
register: plugin_check
- name: Show plugin status
debug:
msg: "metadata_lock_info plugin is {{ 'installed' if plugin_check.query_result[0] | length > 0 else 'NOT installed' }}"
- name: create zz-local.cnf with specific params
copy:
src: ../../files/zz-plugins.cnf
dest: /etc/my.cnf.d/zz-plugins.cnf
owner: root
group: root
mode: '0644'