Bash脚本SSH进入MYSQL服务器并使用短划线创建数据库

时间:2016-04-14 03:05:50

标签: mysql bash ssh

我一直遇到这个命令的问题:

ssh -t $SSSSHUSER@$SSSSH "echo \"CREATE DATABASE \`$NEWDB\`; GRANT ALL ON \`$NEWDB\`.* TO '$SSMYSQLUSER'@'$SSMYSQLSERVER';\" | /usr/bin/mysql -u$SSMYSQLUSER -p$SSMYSQLPWD ;"

当数据库名称中出现-时,即使我逃过了反复数据库,数据库创建也会失败。任何想法如何修复语法?

在本地运行时,一切正常:

echo "CREATE DATABASE \`$NEWDB\`; GRANT ALL ON \`$NEWDB\`.* TO '$MYSQLUSER'@'localhost';" | /Applications/MAMP/Library/bin/mysql -u"$MYSQLUSER" -p"$MYSQLPWD"

由于

1 个答案:

答案 0 :(得分:0)

这个在使用set -x:

进行调试后工作
ssh -t $SSSSHUSER@$SSSSH "echo 'CREATE DATABASE \`$NEWDB\`; GRANT ALL ON \`$NEWDB\`.* TO $SSMYSQLUSER@$SSMYSQLSERVER;' | /usr/bin/mysql -u$SSMYSQLUSER -p$SSMYSQLPWD ; "