gtl*_*wig 0 scripting bash backup mysql
我正在尝试构建一个脚本来自动执行现有数据库的备份过程。
我遇到的问题是将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
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,相关的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"
Run Code Online (Sandbox Code Playgroud)
另请参阅:忘记在 bash/POSIX shell 中引用变量的安全隐患
| 归档时间: |
|
| 查看次数: |
234 次 |
| 最近记录: |