kamdbctl: split create user and grant access statements for mysql
authorDaniel-Constantin Mierla <miconda@gmail.com>
Tue, 22 Oct 2019 08:49:18 +0000 (10:49 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Tue, 22 Oct 2019 08:49:18 +0000 (10:49 +0200)
- MySQL 8 doesn't support all in one statement

utils/kamctl/kamdbctl.mysql

index 6103705..e8f8d2e 100644 (file)
@@ -160,8 +160,10 @@ kamailio_db_grant () # pars: <database name>
        minfo "granting privileges to database $1 ..."
 
        # Users: kamailio is the regular user, kamailioro only for reading
-       sql_query "" "GRANT ALL PRIVILEGES ON $1.* TO '${DBRWUSER}'@'$DBHOST' IDENTIFIED BY '$DBRWPW';
-               GRANT SELECT ON $1.* TO '${DBROUSER}'@'$DBHOST' IDENTIFIED BY '$DBROPW';"
+       sql_query "" "CREATE USER '${DBRWUSER}'@'$DBHOST' IDENTIFIED BY '$DBRWPW';
+               GRANT ALL PRIVILEGES ON $1.* TO '${DBRWUSER}'@'$DBHOST';
+               CREATE USER '${DBROUSER}'@'$DBHOST' IDENTIFIED BY '$DBROPW';
+               GRANT SELECT ON $1.* TO '${DBROUSER}'@'$DBHOST';"
 
        if [ $? -ne 0 ] ; then
                merr "granting privileges to database $1 failed!"
@@ -169,8 +171,10 @@ kamailio_db_grant () # pars: <database name>
        fi
 
        if [ "$DBHOST" != "localhost" ] ; then
-               sql_query "" "GRANT ALL PRIVILEGES ON $1.* TO '$DBRWUSER'@'localhost' IDENTIFIED  BY '$DBRWPW';
-                       GRANT SELECT ON $1.* TO '$DBROUSER'@'localhost' IDENTIFIED BY '$DBROPW';"
+               sql_query "" "CREATE USER '$DBRWUSER'@'localhost' IDENTIFIED BY '$DBRWPW';
+                       GRANT ALL PRIVILEGES ON $1.* TO '$DBRWUSER'@'localhost';
+                       CREATE USER '$DBROUSER'@'localhost' IDENTIFIED BY '$DBROPW';
+                       GRANT SELECT ON $1.* TO '$DBROUSER'@'localhost';"
                if [ $? -ne 0 ] ; then
                        merr "granting localhost privileges to database $1 failed!"
                        exit 1
@@ -178,8 +182,10 @@ kamailio_db_grant () # pars: <database name>
        fi
 
        if [ ! -z "$DBACCESSHOST" ] ; then
-               sql_query "" "GRANT ALL PRIVILEGES ON $1.* TO '$DBRWUSER'@'$DBACCESSHOST' IDENTIFIED  BY '$DBRWPW';
-                       GRANT SELECT ON $1.* TO '$DBROUSER'@'$DBACCESSHOST' IDENTIFIED BY '$DBROPW';"
+               sql_query "" "CREATE USER '$DBRWUSER'@'$DBACCESSHOST' IDENTIFIED BY '$DBRWPW';
+                       GRANT ALL PRIVILEGES ON $1.* TO '$DBRWUSER'@'$DBACCESSHOST';
+                       CREATE USER '$DBROUSER'@'$DBACCESSHOST' IDENTIFIED BY '$DBROPW';
+                       GRANT SELECT ON $1.* TO '$DBROUSER'@'$DBACCESSHOST';"
                if [ $? -ne 0 ] ; then
                        merr "granting access host privileges to database $1 failed!"
                        exit 1