summaryrefslogtreecommitdiff
path: root/roles/mysql
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-01-09 21:41:50 +0100
committerChristian Pointner <equinox@spreadspace.org>2019-01-09 21:41:50 +0100
commit33a2ea7e8bddd905740aa128c43cb937eb1facce (patch)
tree151511b8f1f4422a91c131af5dfcef909caff6d5 /roles/mysql
parentpreseed install disk detection works now (diff)
added mysql role
Diffstat (limited to 'roles/mysql')
-rw-r--r--roles/mysql/defaults/main.yml7
-rw-r--r--roles/mysql/tasks/main.yml15
-rw-r--r--roles/mysql/tasks/mysql-secure-installation.yml22
3 files changed, 44 insertions, 0 deletions
diff --git a/roles/mysql/defaults/main.yml b/roles/mysql/defaults/main.yml
new file mode 100644
index 00000000..737711a1
--- /dev/null
+++ b/roles/mysql/defaults/main.yml
@@ -0,0 +1,7 @@
+---
+mysql_pkg_provider: distro
+mysql_pkg_name: mysql-server
+
+### not done yet
+# mysql_pkg_provider: percona
+# mysql_pkg_name: percona-server-server
diff --git a/roles/mysql/tasks/main.yml b/roles/mysql/tasks/main.yml
new file mode 100644
index 00000000..ecd0ef90
--- /dev/null
+++ b/roles/mysql/tasks/main.yml
@@ -0,0 +1,15 @@
+---
+- name: prepare package provider
+ when: mysql_pkg_provider != 'distro'
+ include_tasks: "{{ mysql_pkg_provider }}.yml"
+
+- name: install mysql packages
+ apt:
+ name:
+ - "{{ mysql_pkg_name }}"
+ - python-mysqldb
+ state: present
+ force: yes
+
+- name: remove unsecure defaults
+ import_tasks: mysql-secure-installation.yml
diff --git a/roles/mysql/tasks/mysql-secure-installation.yml b/roles/mysql/tasks/mysql-secure-installation.yml
new file mode 100644
index 00000000..28674cfd
--- /dev/null
+++ b/roles/mysql/tasks/mysql-secure-installation.yml
@@ -0,0 +1,22 @@
+---
+- name: set mysql root password
+ mysql_user:
+ login_user: root
+ login_password: "{{ mysql_root_password }}"
+ user: root
+ password: "{{ mysql_root_password }}"
+ host: localhost
+
+- name: delete anonymous MySQL server user
+ mysql_user:
+ login_user: root
+ login_password: "{{ mysql_root_password }}"
+ user: ""
+ state: absent
+
+- name: remove the MySQL test database
+ mysql_db:
+ login_user: root
+ login_password: "{{ mysql_root_password }}"
+ db: test
+ state: absent