79 lines
1.6 KiB
YAML
79 lines
1.6 KiB
YAML
---
|
|
# This playbook will install mysql and create db user and give permissions.
|
|
|
|
- name: Install Mysql package
|
|
apt:
|
|
update_cache: true
|
|
name: ['mysql-server', 'python3-pip']
|
|
state: present
|
|
- name: Make sure pymysql is present
|
|
become: true # needed if the other tasks are not played as root
|
|
pip:
|
|
name: pymysql
|
|
state: present
|
|
|
|
- name: Create Mysql configuration file
|
|
template:
|
|
src: my.cnf.j2
|
|
dest: /etc/my.cnf
|
|
notify:
|
|
- restart mysql
|
|
|
|
- name: (DATABASE) Allow remote hosts to connect (Debian)
|
|
lineinfile:
|
|
path: /etc/mysql/mysql.conf.d/mysqld.cnf
|
|
backrefs: yes
|
|
regexp: '^bind-address'
|
|
line: 'bind-address = 0.0.0.0'
|
|
state: present
|
|
notify: restart mysql
|
|
|
|
- name: Start Mysql Service
|
|
service:
|
|
name: mysql
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: Sets the root password
|
|
no_log: true
|
|
mysql_user:
|
|
name: root
|
|
password: "{{ mysql_root_password }}"
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
ignore_errors: yes
|
|
|
|
|
|
#- name: Removes all anonymous user accounts
|
|
# mysql_user:
|
|
# name: ''
|
|
# host_all: yes
|
|
# state: absent
|
|
|
|
|
|
#- name: Removes the MySQL test database
|
|
# mysql_db:
|
|
# name: test
|
|
# state: absent
|
|
|
|
|
|
|
|
|
|
- name: Create Application Database
|
|
mysql_db:
|
|
name: "{{ dbname }}"
|
|
login_user: root
|
|
login_password: "{{ mysql_root_password }}"
|
|
state: present
|
|
|
|
- name: Create Application DB User
|
|
no_log: true
|
|
mysql_user:
|
|
name: "{{ dbuser }}"
|
|
password: "{{ upassword }}"
|
|
login_unix_socket: /var/run/mysqld/mysqld.sock
|
|
priv: "*.*:ALL"
|
|
host: '%'
|
|
state: present
|
|
login_user: root
|
|
login_password: "{{ mysql_root_password }}"
|