]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/grant_mysql_privileges.in
Big backport from Enterprise
[bacula/bacula] / bacula / src / cats / grant_mysql_privileges.in
index bf89fe060ad3a567daad37078498bb1209bfb4c2..53bb03ef0a0c17e2ded14fa119108814236be730 100644 (file)
@@ -2,19 +2,38 @@
 #
 # shell script to grant privileges to the bacula database
 #
-USER=@db_user@
-bindir=@SQL_BINDIR@
-db_name=@db_name@
+# Copyright (C) 2000-2017 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
+db_user=${db_user:-@db_user@}
+bindir=@MYSQL_BINDIR@
+db_name=${db_name:-@db_name@}
+db_password=@db_password@
+if [ "$db_password" != "" ]; then
+   pass="identified by '$db_password'"
+fi
+db_ssl_options=@db_ssl_options@
+if [ "$db_ssl_options" != "" ]; then
+   ssl_options="require $db_ssl_options"
+fi
+if $bindir/mysql $* -u root -f 2>/dev/null 1>/dev/null  <<EOD
+use mysql;
+create user ${db_user} ${pass};
+EOD
+then
+  echo "Created MySQL database user: ${db_user}"
+fi
 
 if $bindir/mysql $* -u root -f <<END-OF-DATA
 use mysql
-grant all privileges on ${db_name}.* to ${USER}@localhost;
-grant all privileges on ${db_name}.* to ${USER}@"%";
+grant all privileges on ${db_name}.* to ${db_user}@localhost ${pass} ${ssl_options};
+grant all privileges on ${db_name}.* to ${db_user}@"%" ${pass} ${ssl_options};
 select * from user;
 flush privileges;
 END-OF-DATA
 then
-   echo "Privileges for ${USER} granted on ${db_name}."
+   echo "Privileges for user ${db_user} granted on database ${db_name}."
    exit 0
 else
    echo "Error creating privileges."