2016-09-29 16:33:48 +02:00
|
|
|
---
|
|
|
|
|
2021-05-09 23:06:42 +02:00
|
|
|
- set_fact:
|
|
|
|
_mysql_scripts_dir: "{{ mysql_scripts_dir | default(general_scripts_dir, True) | mandatory }}"
|
|
|
|
|
2018-03-14 09:33:14 +01:00
|
|
|
- include_role:
|
2019-11-29 14:00:25 +01:00
|
|
|
name: evolix/remount-usr
|
2021-05-09 23:06:42 +02:00
|
|
|
when: _mysql_scripts_dir is search ("/usr")
|
2018-03-14 09:33:14 +01:00
|
|
|
|
2017-08-12 17:39:33 +02:00
|
|
|
- name: Ensure scripts directory exists
|
2017-07-12 18:03:07 +02:00
|
|
|
file:
|
2021-05-09 23:06:42 +02:00
|
|
|
dest: "{{ _mysql_scripts_dir }}"
|
2017-07-12 18:03:07 +02:00
|
|
|
mode: "0700"
|
|
|
|
state: directory
|
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
2016-09-29 16:33:48 +02:00
|
|
|
# mytop
|
|
|
|
|
2022-11-06 15:20:31 +01:00
|
|
|
- name: "Install mytop (Debian 8)"
|
2016-09-29 16:33:48 +02:00
|
|
|
apt:
|
|
|
|
name: mytop
|
2017-01-12 17:37:48 +01:00
|
|
|
state: present
|
2016-09-29 16:33:48 +02:00
|
|
|
tags:
|
|
|
|
- packages
|
|
|
|
- mytop
|
|
|
|
- mysql
|
2019-07-03 09:41:35 +02:00
|
|
|
when: ansible_distribution_release == "jessie"
|
2017-08-31 04:40:49 +02:00
|
|
|
|
2021-05-01 22:19:31 +02:00
|
|
|
- name: "Install dependencies for mytop (Debian 9)"
|
2017-08-31 04:40:49 +02:00
|
|
|
apt:
|
2019-12-31 15:25:10 +01:00
|
|
|
name:
|
|
|
|
- mariadb-client-10.1
|
|
|
|
- libconfig-inifiles-perl
|
|
|
|
- libterm-readkey-perl
|
2019-07-03 09:41:35 +02:00
|
|
|
when: ansible_distribution_release == "stretch"
|
2019-06-26 17:46:36 +02:00
|
|
|
|
2021-05-01 22:19:31 +02:00
|
|
|
- name: "Install dependencies for mytop (Debian 10)"
|
2019-06-26 17:46:36 +02:00
|
|
|
apt:
|
2019-12-31 15:25:10 +01:00
|
|
|
name:
|
|
|
|
- mariadb-client-10.3
|
|
|
|
- libconfig-inifiles-perl
|
|
|
|
- libterm-readkey-perl
|
2021-05-01 22:19:31 +02:00
|
|
|
when: ansible_distribution_release == "buster"
|
|
|
|
|
2022-11-06 15:20:31 +01:00
|
|
|
- name: "Install dependencies for mytop (Debian 11)"
|
2021-05-01 22:19:31 +02:00
|
|
|
apt:
|
|
|
|
name:
|
|
|
|
- mariadb-client-10.5
|
|
|
|
- libconfig-inifiles-perl
|
|
|
|
- libterm-readkey-perl
|
2021-09-30 10:13:11 +02:00
|
|
|
- libdbd-mariadb-perl
|
2022-11-06 15:20:31 +01:00
|
|
|
when: ansible_distribution_release == "bullseye"
|
|
|
|
|
|
|
|
- name: "Install dependencies for mytop (Debian 12 or later)"
|
|
|
|
apt:
|
|
|
|
name:
|
|
|
|
- mariadb-client-10.6
|
|
|
|
- libconfig-inifiles-perl
|
|
|
|
- libterm-readkey-perl
|
|
|
|
- libdbd-mariadb-perl
|
|
|
|
when: ansible_distribution_major_version is version('12', '=')
|
2016-09-29 16:33:48 +02:00
|
|
|
|
2021-09-30 10:13:11 +02:00
|
|
|
- name: Read debian-sys-maint password (Debian < 11)
|
2017-11-14 09:39:24 +01:00
|
|
|
shell: 'cat /etc/mysql/debian.cnf | grep -m1 "password = .*" | cut -d" " -f3'
|
2016-09-29 16:33:48 +02:00
|
|
|
register: mysql_debian_password
|
|
|
|
changed_when: False
|
2017-11-14 09:39:24 +01:00
|
|
|
check_mode: no
|
2017-01-03 09:39:31 +01:00
|
|
|
tags:
|
|
|
|
- mysql
|
2021-09-30 10:13:11 +02:00
|
|
|
when: ansible_distribution_major_version is version('11', '<')
|
2016-09-29 16:33:48 +02:00
|
|
|
|
2021-09-30 10:13:11 +02:00
|
|
|
- name: Configure mytop (Debian < 11)
|
2016-09-29 16:33:48 +02:00
|
|
|
template:
|
|
|
|
src: mytop.j2
|
|
|
|
dest: /root/.mytop
|
2017-03-23 16:59:43 +01:00
|
|
|
mode: "0600"
|
2016-09-29 16:33:48 +02:00
|
|
|
force: yes
|
|
|
|
tags:
|
|
|
|
- mytop
|
|
|
|
- mysql
|
2021-09-30 10:13:11 +02:00
|
|
|
when: ansible_distribution_major_version is version('11', '<')
|
|
|
|
|
|
|
|
- name: Configure mytop (Debian >= 11)
|
|
|
|
template:
|
|
|
|
src: mytop.bullseye.j2
|
|
|
|
dest: /root/.mytop
|
|
|
|
mode: "0600"
|
|
|
|
force: yes
|
|
|
|
tags:
|
|
|
|
- mytop
|
|
|
|
- mysql
|
|
|
|
when: ansible_distribution_major_version is version('11', '>=')
|
2016-09-29 16:33:48 +02:00
|
|
|
|
|
|
|
# mysqltuner
|
|
|
|
|
2017-11-07 12:18:02 +01:00
|
|
|
- include_role:
|
2019-11-29 14:00:25 +01:00
|
|
|
name: evolix/remount-usr
|
2021-05-09 23:06:42 +02:00
|
|
|
when: _mysql_scripts_dir is search ("/usr")
|
2017-05-23 15:11:11 +02:00
|
|
|
|
2016-09-29 16:33:48 +02:00
|
|
|
- name: Install mysqltuner
|
2017-08-12 18:23:44 +02:00
|
|
|
# copy:
|
|
|
|
# src: mysqltuner.pl
|
2021-05-09 23:06:42 +02:00
|
|
|
# dest: "{{ _mysql_scripts_dir }}/mysqltuner.pl"
|
2017-08-12 18:23:44 +02:00
|
|
|
# mode: "0700"
|
|
|
|
apt:
|
|
|
|
name: mysqltuner
|
|
|
|
state: present
|
2016-09-29 16:33:48 +02:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
- mysqltuner
|
|
|
|
|
|
|
|
- name: Install aha
|
|
|
|
apt:
|
|
|
|
name: aha
|
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
2019-06-26 18:12:39 +02:00
|
|
|
# Percona Toolkit
|
|
|
|
|
|
|
|
- name: "Install percona-toolkit (Debian 9 or later)"
|
|
|
|
apt:
|
|
|
|
name: percona-toolkit
|
|
|
|
state: present
|
|
|
|
tags:
|
|
|
|
- packages
|
|
|
|
- percona-toolkit
|
|
|
|
- mysql
|
2020-02-25 10:45:35 +01:00
|
|
|
when: ansible_distribution_major_version is version('9', '>=')
|
2019-06-26 18:12:39 +02:00
|
|
|
|
2016-09-29 16:33:48 +02:00
|
|
|
# automatic optimizations
|
|
|
|
|
2017-11-07 12:18:02 +01:00
|
|
|
- include_role:
|
2019-11-29 14:00:25 +01:00
|
|
|
name: evolix/remount-usr
|
2021-05-09 23:06:42 +02:00
|
|
|
when: _mysql_scripts_dir is search ("/usr")
|
2017-05-23 15:11:11 +02:00
|
|
|
|
2017-01-03 09:39:31 +01:00
|
|
|
- name: Optimize script for MySQL
|
2016-09-29 16:33:48 +02:00
|
|
|
copy:
|
2017-01-03 09:39:31 +01:00
|
|
|
src: mysql-optimize.sh
|
2021-05-09 23:06:42 +02:00
|
|
|
dest: "{{ _mysql_scripts_dir }}/mysql-optimize.sh"
|
2017-03-23 16:59:43 +01:00
|
|
|
mode: "0700"
|
2017-01-03 09:39:31 +01:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
2017-08-12 18:24:14 +02:00
|
|
|
- name: "Cron dir for optimize is present"
|
2017-05-19 23:06:12 +02:00
|
|
|
file:
|
|
|
|
path: "/etc/cron.{{ mysql_cron_optimize_frequency | mandatory }}"
|
|
|
|
state: directory
|
|
|
|
mode: "0755"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
|
|
|
|
- name: "Enable cron to optimize MySQL"
|
2017-01-03 09:39:31 +01:00
|
|
|
file:
|
2021-05-09 23:06:42 +02:00
|
|
|
src: "{{ _mysql_scripts_dir }}/mysql-optimize.sh"
|
2017-05-19 23:06:12 +02:00
|
|
|
dest: /etc/cron.{{ mysql_cron_optimize_frequency | mandatory }}/mysql-optimize.sh
|
2017-01-03 09:39:31 +01:00
|
|
|
state: link
|
2022-12-14 07:38:04 +01:00
|
|
|
when: mysql_cron_optimize | bool
|
2017-01-03 09:39:31 +01:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
2017-05-19 23:06:12 +02:00
|
|
|
- name: "Disable cron to optimize MySQL"
|
2017-01-03 09:39:31 +01:00
|
|
|
file:
|
2017-08-12 18:24:14 +02:00
|
|
|
dest: /etc/cron.{{ mysql_cron_optimize_frequency | mandatory }}/mysql-optimize.sh
|
2017-01-03 09:39:31 +01:00
|
|
|
state: absent
|
2021-05-09 23:06:42 +02:00
|
|
|
when: not (mysql_cron_optimize | bool)
|
2016-09-29 16:33:48 +02:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
2017-08-12 18:24:14 +02:00
|
|
|
- name: "Cron dir for mysqltuner is present"
|
|
|
|
file:
|
|
|
|
path: "/etc/cron.{{ mysql_cron_mysqltuner_frequency | mandatory }}"
|
|
|
|
state: directory
|
|
|
|
mode: "0755"
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
|
|
|
|
- name: "Enable mysqltuner in cron"
|
|
|
|
copy:
|
|
|
|
src: mysqltuner.cron.sh
|
|
|
|
dest: /etc/cron.{{ mysql_cron_mysqltuner_frequency | mandatory }}/mysqltuner.sh
|
2018-04-22 17:32:23 +02:00
|
|
|
mode: "0755"
|
2021-05-09 23:06:42 +02:00
|
|
|
when: mysql_cron_mysqltuner | bool
|
2017-08-12 18:24:14 +02:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
|
|
|
- name: "Disable mysqltuner in cron"
|
|
|
|
file:
|
|
|
|
dest: /etc/cron.{{ mysql_cron_mysqltuner_frequency | mandatory }}/mysqltuner.sh
|
|
|
|
state: absent
|
2021-05-09 23:06:42 +02:00
|
|
|
when: not (mysql_cron_mysqltuner | bool)
|
2017-08-12 18:24:14 +02:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
2016-09-29 16:33:48 +02:00
|
|
|
# my-add.sh
|
|
|
|
|
2017-11-07 12:18:02 +01:00
|
|
|
- include_role:
|
2019-11-29 14:00:25 +01:00
|
|
|
name: evolix/remount-usr
|
2021-05-09 23:06:42 +02:00
|
|
|
when: _mysql_scripts_dir is search ("/usr")
|
2016-09-29 16:33:48 +02:00
|
|
|
|
|
|
|
- name: Install my-add.sh
|
|
|
|
copy:
|
|
|
|
src: my-add.sh
|
2021-05-09 23:06:42 +02:00
|
|
|
dest: "{{ _mysql_scripts_dir }}/my-add.sh"
|
2017-03-23 16:59:43 +01:00
|
|
|
mode: "0700"
|
2021-04-23 14:59:29 +02:00
|
|
|
force: "{{ mysql_force_myadd_script }}"
|
2016-09-29 16:33:48 +02:00
|
|
|
tags:
|
|
|
|
- mysql
|
2017-05-23 15:11:11 +02:00
|
|
|
|
|
|
|
- name: Install apg
|
|
|
|
apt:
|
|
|
|
name: apg
|
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
- packages
|
2020-11-24 13:58:59 +01:00
|
|
|
|
|
|
|
- name: "Install save_mysql_processlist.sh"
|
|
|
|
copy:
|
|
|
|
src: save_mysql_processlist.sh
|
2021-05-09 23:06:42 +02:00
|
|
|
dest: "{{ _mysql_scripts_dir }}/save_mysql_processlist.sh"
|
2020-11-24 13:58:59 +01:00
|
|
|
mode: "0755"
|
|
|
|
force: no
|
|
|
|
tags:
|
|
|
|
- mysql
|
2021-07-08 15:10:35 +02:00
|
|
|
|
|
|
|
- name: "Install mysql_connections"
|
|
|
|
copy:
|
|
|
|
src: mysql_connections.sh
|
|
|
|
dest: "{{ _mysql_scripts_dir }}/mysql_connections"
|
|
|
|
mode: "0755"
|
|
|
|
force: no
|
|
|
|
tags:
|
|
|
|
- mysql
|
2021-08-30 14:05:15 +02:00
|
|
|
|
|
|
|
- name: "Install mysql-queries-killer.sh"
|
|
|
|
copy:
|
|
|
|
src: mysql-queries-killer.sh
|
|
|
|
dest: "{{ _mysql_scripts_dir }}/mysql-queries-killer.sh"
|
|
|
|
mode: "0755"
|
|
|
|
force: no
|
2021-11-01 10:16:52 +01:00
|
|
|
tags:
|
|
|
|
- mysql
|
|
|
|
|
|
|
|
- name: "Install evomariabackup"
|
|
|
|
copy:
|
|
|
|
src: evomariabackup.sh
|
|
|
|
dest: "{{ _mysql_scripts_dir }}/evomariabackup"
|
|
|
|
mode: "0755"
|
|
|
|
force: no
|
2021-08-30 14:05:15 +02:00
|
|
|
tags:
|
2022-12-14 07:38:04 +01:00
|
|
|
- mysql
|