X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=database_utils%2Finit_mano_db.sh;h=4b73441d5ef359fe5f56f5e6f0592d9d381fdab4;hb=89b3d840dfa2ae1aae544338fad79cf7703f4af4;hp=cbb76ef4055c7440296f02e6402e356ed3bc875b;hpb=462e3883d26612875a2978abdb8324109b41e081;p=osm%2FRO.git diff --git a/database_utils/init_mano_db.sh b/database_utils/init_mano_db.sh index cbb76ef4..4b73441d 100755 --- a/database_utils/init_mano_db.sh +++ b/database_utils/init_mano_db.sh @@ -26,6 +26,7 @@ DBPASS="" DBHOST="localhost" DBPORT="3306" DBNAME="mano_db" +CREATEDB="" # Detect paths MYSQL=$(which mysql) @@ -43,6 +44,7 @@ function usage(){ echo -e " -h HOST database host. '$DBHOST' by default" echo -e " -d NAME database name. '$DBNAME' by default. Prompts if DB access fails" echo -e " --help shows this help" + echo -e " --createdb forces the deletion and creation of the database" } while getopts ":u:p:P:d:h:-:" o; do @@ -63,9 +65,14 @@ while getopts ":u:p:P:d:h:-:" o; do DBHOST="$OPTARG" ;; -) - [ "${OPTARG}" == "help" ] && usage && exit 0 - echo "Invalid option: --$OPTARG" >&2 && usage >&2 - exit 1 + if [ "${OPTARG}" == "help" ]; then + usage && exit 0 + elif [ "${OPTARG}" == "createdb" ]; then + CREATEDB="yes" + else + echo "Invalid option: --$OPTARG" >&2 && usage >&2 + exit 1 + fi ;; \?) echo "Invalid option: -$OPTARG" >&2 && usage >&2 @@ -84,29 +91,49 @@ done shift $((OPTIND-1)) #check and ask for database user password -DBUSER_="-u$DBUSER" -DBPASS_="" -[ -n "$DBPASS" ] && DBPASS_="-p$DBPASS" +#DBUSER_="-u$DBUSER" +#DBPASS_="" +#[ -n "$DBPASS" ] && DBPASS_="-p$DBPASS" DBHOST_="-h$DBHOST" DBPORT_="-P$DBPORT" -while ! echo ";" | mysql $DBHOST_ $DBPORT_ $DBUSER_ $DBPASS_ >/dev/null 2>&1 + +TEMPFILE="$(mktemp -q --tmpdir "initmanodb.XXXXXX")" +trap 'rm -f "$TEMPFILE"' EXIT +chmod 0600 "$TEMPFILE" +cat >"$TEMPFILE" </dev/null 2>&1 do [ -n "$logintry" ] && echo -e "\nInvalid database credentials!!!. Try again (Ctrl+c to abort)" [ -z "$logintry" ] && echo -e "\nProvide database credentials" # read -e -p "mysql database name($DBNAME): " KK # [ -n "$KK" ] && DBNAME="$KK" read -e -p "mysql user($DBUSER): " KK - [ -n "$KK" ] && DBUSER="$KK" && DBUSER_="-u$DBUSER" + [ -n "$KK" ] && DBUSER="$KK" read -e -s -p "mysql password: " DBPASS - [ -n "$DBPASS" ] && DBPASS_="-p$DBPASS" - [ -z "$DBPASS" ] && DBPASS_="" + cat >"$TEMPFILE" <