瀏覽代碼

Make possible to create an super 'admin' account with mysql or mariadb

Emmanuel Bouthenot 7 年之前
父節點
當前提交
78811c5918
共有 2 個文件被更改,包括 6 次插入0 次删除
  1. 1 0
      roles/dbserver/defaults/main.yml
  2. 5 0
      roles/dbserver/tasks/mysql.yml

+ 1 - 0
roles/dbserver/defaults/main.yml

@@ -6,6 +6,7 @@ with_mysql: False
 with_mariadb: False
 with_mysql_backup: True
 mysql_root_password: ''
+mysql_admin_password: ''
 
 with_postgresql: False
 with_postgresql_backup: True

+ 5 - 0
roles/dbserver/tasks/mysql.yml

@@ -28,5 +28,10 @@
   changed_when: False
   when: mysql_root_password != ''
 
+- name: Add MySQL or MariaDB admin account
+  raw: if ! echo "SELECT VERSION();" | mysql -u admin --password='{{ mysql_admin_password }}' >/dev/null 2>&1 ; then echo "CREATE USER 'admin'@'localhost' IDENTIFIED BY '{{ mysql_admin_password }}'; GRANT ALL PRIVILEGES ON * . * TO 'admin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;" | mysql --defaults-file=/etc/mysql/debian.cnf ; fi
+  changed_when: False
+  when: mysql_admin_password != ''
+
 - name: Ensure MySQL or MariaDB is running
   service: name=mysql state=started