【发布时间】:2010-12-12 14:48:53
【问题描述】:
问题重写:
HOMEDIR="ftpuser"
REMOTEIP="1.1.1.1"
MYSQLPASS="password"
Q1="DROP USER "$HOMEDIR"_shop;"
Q2="DROP DATABASE "$HOMEDIR"_shop;"
Q3="CREATE DATABASE IF NOT EXISTS "$HOMEDIR"_shop;"
Q4="GRANT ALL ON "$HOMEDIR"_shop TO '"$HOMEDIR"_shop'@'localhost' IDENTIFIED BY '$MYSQLPASS';"
Q5="GRANT ALL ON "$HOMEDIR"_shop TO '"$HOMEDIR"_shop'@'anotherip' IDENTIFIED BY '$MYSQLPASS';"
# Need to grant permissions from another server as well
Q6="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}${Q3}${Q4}${Q5}${Q6}"
echo $SQL
echo " "
ssh -p 8899 root@$REMOTEIP "mysql -u root -p "$SQL""
然后我运行:
/root/testing/migratesite.sh
得到:
bash: DROP: command not found
bash: CREATE: command not found
bash: GRANT: command not found
bash: GRANT: command not found
bash: FLUSH: command not found
我错过了什么?
【问题讨论】:
-
为我工作,mysql 5.0.51,BASH 3.2.39。您是否在另一个脚本中运行它?如果你通过命令行运行它会运行吗?
-
我重做了我的问题,以准确解释我在做什么,而不是基于什么!希望有帮助!
-
我会说这个
ssh -p 8899 root@$REMOTEIP "mysql -u root -p $SQL""不能工作,因为引号...但是我还没有机器可以尝试...尝试逃避引号$SQL。
标签: mysql database bash scripting centos