--- install-merlin.sh.orig 2009-09-01 12:01:08.000000000 +0200 +++ install-merlin.sh 2009-09-01 12:25:47.000000000 +0200 @@ -12,6 +12,7 @@ db_name=merlin db_user=merlin db_pass=merlin +db_host=localhost batch= install=db,files,config,init @@ -59,26 +60,31 @@ { case "$db_type" in mysql) + # Should ask for the mysql administrator login/password before + read -p "MySQL Administrator login: " db_admin + stty -echo + read -p "MySQL Administrator password: " db_admin_passwd; echo + stty echo # Create database if it do not exist - if [[ ! $(mysql -e "SHOW DATABASES LIKE '$db_name'") ]]; then + if [[ ! $(mysql --user=$db_admin --password=$db_admin_passwd -h $db_host -e "SHOW DATABASES LIKE '$db_name'") ]]; then echo "Creating database $db_name" - mysql -e "CREATE DATABASE IF NOT EXISTS $db_name" + mysql --user=$db_admin --password=$db_admin_passwd -h $db_host -e "CREATE DATABASE IF NOT EXISTS $db_name" fi # Always set privileges (to be on the extra safe side) - mysql -e \ - "GRANT ALL ON $db_name.* TO $db_user@localhost IDENTIFIED BY '$db_pass'" - mysql -e 'FLUSH PRIVILEGES' + mysql --user=$db_admin --password=$db_admin_passwd -h $db_host -e \ + "GRANT ALL ON $db_name.* TO $db_user@'%' IDENTIFIED BY '$db_pass'" + mysql --user=$db_admin --password=$db_admin_passwd -h $db_host -e 'FLUSH PRIVILEGES' # Fetch db_version and do upgrade stuff if/when needed query="SELECT version FROM db_version" - db_version=$(mysql $db_name -BNe "$query" 2>/dev/null) + db_version=$(mysql --user=$db_user --password=$db_pass -h $db_host $db_name -BNe "$query" 2>/dev/null) case "$db_version" in "") # No db installed - mysql $db_name < $src_dir/db.sql + mysql --user=$db_user --password=$db_pass -h $db_host $db_name < $src_dir/db.sql ;; "1") # DB Version is 1 and db should be re-installed (According to AE) - mysql $db_name < $src_dir/db.sql + mysql --user=$db_user --password=$db_pass -h $db_host $db_name < $src_dir/db.sql ;; *) # Unknown version, should we handle this? @@ -216,6 +222,9 @@ shift db_pass="$1" ;; + --db-host=*) + db_host=$(get_arg "$1") + ;; --batch) batch=y ;; @@ -263,6 +272,7 @@ Name (--db-name): $db_name Username (--db-user): $db_user Password (--db-pass): $db_pass + Host (--db-host): $db_host Path settings: Nagios config file (--nagios-cfg): $nagios_cfg