diff --git a/roles/mysql/tasks/mysql_server.yml b/roles/mysql/tasks/mysql_server.yml
index 8ea439879957fb68a8e845732367b63082e9c0a9..f8edd4e66ceed4323aa0ad83364ec890b93e80c1 100644
--- a/roles/mysql/tasks/mysql_server.yml
+++ b/roles/mysql/tasks/mysql_server.yml
@@ -10,17 +10,18 @@
   with_items: "{{ server_packages }}"
   become: true
   when: ansible_os_family == "RedHat"
+  
+- name: make sure mysql conf directory exists
+  file: dest=/etc/mysql/conf.d state=directory
+  become: true
+  register: mysqldb_confdir_create
 
 - name: "Starting MySQL"
   service: name={{ sqlServiceName }} state=started enabled=true
   become: true
 
-- name: make sure mysql conf directory exists
-  file: dest=/etc/mysql/conf.d state=directory
-  become: true
-
 #- name: "Adding root"
-#  sudo: true
+#  become: true
 #  mysql_user: name=root host="{{ item }}" password="{{ mysql_root_password }}" login_user=root login_password="{{ mysql_root_password }}" check_implicit_admin=yes
 #  with_items:
 #    - "{{ ansible_hostname }}"
@@ -28,9 +29,10 @@
 #    - ::1
 #    - localhost
 
-- name: update mysql root password for all root accounts
+- name: update mysql root password for all root accounts  # this will only work if a completely fresh db gets installed because it gets shipped with a blank root pw
   mysql_user: name=root host=localhost password={{ mysql_root_password }} login_user=root
-
+  when: mysqldb_confdir_create.changed
+  
 - name: "Adding user database"
   mysql_db: name={{ mysql_user_db_name }} state=present login_user=root login_password={{ mysql_root_password }}