split CREATE USER and GRANT (Mantis#1727)
authorDenis Ovsienko <denis@ovsienko.info>
Mon, 15 May 2017 16:46:54 +0000 (17:46 +0100)
committerDenis Ovsienko <denis@ovsienko.info>
Mon, 15 May 2017 16:46:54 +0000 (17:46 +0100)
tests/README.md
tests/travis_setup_mysql.sh
wwwroot/inc/install.php

index a3ffe6c81e2a8b8ee9a0aaeb581fe87943f579a8..b938a9cf2b48526c70392b8b6bb1064bfb54e96f 100644 (file)
@@ -42,7 +42,8 @@ Note that you should use the `$db_username` variable contained in
 ```
   mysql -u root -p
   CREATE DATABASE racktables_unittest CHARACTER SET utf8 COLLATE utf8_general_ci;
-  GRANT ALL PRIVILEGES ON racktables_unittest.* TO racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD';
+  CREATE USER IF NOT EXISTS racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD';
+  GRANT ALL PRIVILEGES ON racktables_unittest.* TO racktables_user@localhost;
   exit
 ```
 
index 76b4680647ac7a090d9b17326f2d0971d79f1d27..56fc2f9043c4e5e8b43f8dc4f09ecef7fbcefecc 100755 (executable)
@@ -28,7 +28,8 @@ fi
 # the client tries to connect to the database that doesn't yet exist
 # and this script fails, hence the override to "mysql". -- Denis
 mysql -u root mysql -e "CREATE DATABASE ${DBNAME} CHARACTER SET utf8 COLLATE utf8_general_ci;" || exit 2
-mysql -u root -e "GRANT ALL PRIVILEGES ON ${DBNAME}.* TO ${USERNAME}@localhost IDENTIFIED BY '${PASSWORD}';" || exit 2
+mysql -u root -e "CREATE USER ${USERNAME}@localhost IDENTIFIED BY '${PASSWORD}';" || exit 2
+mysql -u root -e "GRANT ALL PRIVILEGES ON ${DBNAME}.* TO ${USERNAME}@localhost;" || exit 2
 
 cat >wwwroot/inc/secret.php <<EOF
 <?php
index 3fb76321b47da2a04d7630de2219940e43777edc..dc102b4e39052637181efc58dd11f1740faf0f54 100644 (file)
@@ -122,7 +122,8 @@ function init_config ()
                echo "<input type=hidden name=save_config value=1>\n";
                echo '<h3>Server-side MySQL setup of the database:</h3><div align=left><pre class=trok>';
                echo "mysql&gt;\nCREATE DATABASE racktables_db CHARACTER SET utf8 COLLATE utf8_general_ci;\n";
-               echo "GRANT ALL PRIVILEGES ON racktables_db.* TO racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD';\n</pre></div>";
+               echo "CREATE USER racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD';\n";
+               echo "GRANT ALL PRIVILEGES ON racktables_db.* TO racktables_user@localhost;\n</pre></div>";
                echo '<table>';
                echo '<tr><td><label for=conn_tcp>TCP connection</label></td>';
                echo '<td><input type=radio name=conn value=conn_tcp id=conn_tcp' . ($use_tcp ? ' checked' : '') . '></td></tr>';