88 lines
2.0 KiB
YAML
88 lines
2.0 KiB
YAML
- name: install mariadb
|
|
package:
|
|
name: mariadb-server
|
|
state: present
|
|
|
|
- name: create mysql directory
|
|
file:
|
|
path: /srv/mysql
|
|
owner: mysql
|
|
group: mysql
|
|
state: directory
|
|
|
|
- name: populate mysql directory
|
|
command: /usr/bin/mysql_install_db --datadir=/srv/mysql
|
|
args:
|
|
creates: /srv/mysql/ibdata1
|
|
notify: restart mariadb
|
|
|
|
- name: replace conffile
|
|
template:
|
|
src: 50-server.cnf.j2
|
|
dest: /etc/mysql/mariadb.conf.d/50-server.cnf
|
|
notify: restart mariadb
|
|
|
|
- name: debian upgrade file conf
|
|
template:
|
|
src: debian.cnf.j2
|
|
dest: /etc/mysql/debian.cnf
|
|
owner: root
|
|
group: root
|
|
mode: '0600'
|
|
notify: restart mariadb
|
|
|
|
- name: force handlers
|
|
meta: flush_handlers
|
|
|
|
- name: install python-mysql
|
|
package:
|
|
name: "{{ item }}"
|
|
state: present
|
|
loop:
|
|
- python-pymysql
|
|
- python3-pymysql
|
|
|
|
- name: root password
|
|
mysql_user:
|
|
login_user: root
|
|
host: "{{ item }}"
|
|
name: root
|
|
password: "{{ mariadb_root_pass }}"
|
|
loop:
|
|
- "localhost"
|
|
- "127.0.0.1"
|
|
- "::1"
|
|
|
|
- name: put .my.cnf file
|
|
template:
|
|
src: dot.my.cnf.j2
|
|
dest: ~/.my.cnf
|
|
mode: '0600'
|
|
|
|
- name: scripted version of mysql_secure_installation
|
|
command: "{{ item }}"
|
|
args:
|
|
warn: false
|
|
creates: ~/mysql_secure_installation
|
|
loop:
|
|
- "mysql -e \"DELETE FROM mysql.user WHERE User='';\""
|
|
- "mysql -e \"DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');\""
|
|
- "mysql -e \"DROP DATABASE IF EXISTS test;\""
|
|
- "mysql -e \"DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';\""
|
|
- "mysql -e \"FLUSH PRIVILEGES;\""
|
|
- touch ~/mysql_secure_installation
|
|
|
|
- name: install backup script
|
|
copy:
|
|
src: files/backup_mysql.sh
|
|
dest: /usr/local/bin/backup_mysql.sh
|
|
mode: '0755'
|
|
|
|
- name: cron backup script
|
|
cron:
|
|
name: "MariaDB backup"
|
|
hour: "{{ mariadb_backup_hour }}"
|
|
minute: "{{ mariadb_backup_minute }}"
|
|
job: "/usr/local/bin/backup_mysql.sh"
|
|
state: present
|