[英]Bash Script SSH into MYSQL Server and create database with dash in it
I keep having trouble with this command: 我在使用此命令时遇到麻烦:
ssh -t $SSSSHUSER@$SSSSH "echo \"CREATE DATABASE \`$NEWDB\`; GRANT ALL ON \`$NEWDB\`.* TO '$SSMYSQLUSER'@'$SSMYSQLSERVER';\" | /usr/bin/mysql -u$SSMYSQLUSER -p$SSMYSQLPWD ;"
Even tho I escaped the backticks the database creation fails when a -
is present in the database name. 即使在数据库名称中出现
-
时,我也逃不过了反引号。 Any ideas how to fix the syntax? 任何想法如何修复语法?
When running this locally everything works: 在本地运行时,一切正常:
echo "CREATE DATABASE \`$NEWDB\`; GRANT ALL ON \`$NEWDB\`.* TO '$MYSQLUSER'@'localhost';" | /Applications/MAMP/Library/bin/mysql -u"$MYSQLUSER" -p"$MYSQLPWD"
Thanks 谢谢
使用set -x进行调试后,此代码可以正常工作:
ssh -t $SSSSHUSER@$SSSSH "echo 'CREATE DATABASE \`$NEWDB\`; GRANT ALL ON \`$NEWDB\`.* TO $SSMYSQLUSER@$SSMYSQLSERVER;' | /usr/bin/mysql -u$SSMYSQLUSER -p$SSMYSQLPWD ; "
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.