Bash
如何在腳本變數上使用兩個字的密碼?
我正在嘗試建構一個腳本來自動化現有數據庫的備份過程。
我遇到的問題是將
mysqldump
兩個單詞用空格分隔的數據庫密碼傳遞給命令(見下文)。# database credentials DATABASEHOST="localhost" DATABASEUSER="username" DATABASEPASSWORD="Compound Password" DATABASESCHEMA="schema" # Local directory of mysqldump file LOCALDIR=/home/user/db-bkp #--- end config mysqldump --host=$DATABASEHOST --user=$DATABASEUSER --password=$DATABASEPASSWORD $DATABASESCHEMA > $LOCALDIR/`date +%Y%m%d`_bkp_$DATABASESCHEMA.sql
當我執行腳本時,相關的
mysqldump
相關消息是:
mysqldump: Got error: 1045: "Access denied for user 'username'@'localhost' (using password: YES)" when trying to connect
我在這裡做錯了什麼以及如何解決?
引用你的變數:
mysqldump --host="$DATABASEHOST" \ --user="$DATABASEUSER" \ --password="$DATABASEPASSWORD" \ --database="$DATABASESCHEMA" \ > "$LOCALDIR"/"$(date +%Y%m%d)_bkp_$DATABASESCHEMA.sql"