Skip to content

Commit bcf1551

Browse files
committed
Adds mysql_store_root_password variable
When set to false, the root password won't be stored in the .my.cnf
1 parent 4a9f39d commit bcf1551

File tree

5 files changed

+16
-1
lines changed

5 files changed

+16
-1
lines changed

defaults/main.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ mysql_version: "{{ mysql_version_major|int }}.{{ mysql_version_minor|int }}"
1313

1414
# Basic settings
1515
mysql_root_password: "pass"
16+
mysql_store_root_password: "True"
1617
mysql_port: "3306"
1718
mysql_bind_address: "127.0.0.1"
1819
mysql_language: "/usr/share/mysql/"

tasks/databases.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,15 @@
55
collation: "{{ item.collation | default('utf8_general_ci') }}"
66
encoding: "{{ item.encoding | default('utf8') }}"
77
state: "present"
8+
login_user: "root"
9+
login_password: "{{ mysql_root_password }}"
810
login_unix_socket: "{% if ansible_os_family in ['RedHat','Rocky'] %}/var/lib/mysql/mysql.sock{% else %}/var/run/mysqld/mysqld.sock{% endif %}"
911
with_items: "{{ mysql_databases }}"
1012

1113
- name: "Load timezone database into MySQL"
1214
shell: "mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql"
15+
environment:
16+
MYSQL_USER: root
17+
MYSQL_PWD: "{{ mysql_root_password }}"
1318
when:
1419
- "mysql_timezone_info|bool"

tasks/secure.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
mysql_user:
3737
name: root
3838
host: "{{ item }}"
39-
password: "{{ mysql_root_password }}"
39+
login_password: "{{ mysql_root_password }}"
4040
check_implicit_admin: yes
4141
state: present
4242
login_unix_socket: "{% if ansible_os_family in ['RedHat', 'Rocky'] %}/var/lib/mysql/mysql.sock{% else %}/var/run/mysqld/mysqld.sock{% endif %}"
@@ -55,17 +55,22 @@
5555
group: root
5656
mode: 0600
5757

58+
5859
- name: "Ensure anonymous users are not in the database"
5960
mysql_user:
6061
name: ''
6162
host: "{{ item }}"
6263
state: absent
64+
login_user: "root"
65+
login_password: "{{ mysql_root_password }}"
6366
login_unix_socket: "{% if ansible_os_family in ['RedHat', 'Rocky'] %}/var/lib/mysql/mysql.sock{% else %}/var/run/mysqld/mysqld.sock{% endif %}"
6467
with_items:
6568
- "{{ ansible_hostname }}"
6669
- "localhost"
6770

6871
- name: "Remove the test database"
6972
mysql_db:
73+
login_user: "root"
74+
login_password: "{{ mysql_root_password }}"
7075
name: test
7176
state: absent

tasks/users.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
priv: "{{ item.priv | default('*.*:ALL') }}"
88
state: "present"
99
host: "{{ item.host | default('localhost') }}"
10+
login_user: "root"
11+
login_password: "{{ mysql_root_password }}"
1012
login_unix_socket: "{% if ansible_os_family in ['RedHat', 'Rocky'] %}/var/lib/mysql/mysql.sock{% else %}/var/run/mysqld/mysqld.sock{% endif %}"
1113
with_items: "{{ mysql_users }}"
1214
no_log: "true"

templates/root-my-cnf.j2

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
[client]
22
user=root
3+
{% if mysql_store_root_password is true %}
34
password="{{ mysql_root_password }}"
5+
{% endif %}

0 commit comments

Comments
 (0)