我有一个脚本来克隆虚拟主机和关联的数据库-但是mysql命令之一不起作用。它失败并最终输出mysql版本号和“如何使用”信息,就好像尚未传递有效参数一样-尽管未给出错误。
下面是该脚本的缩写版本-该行应创建新数据库并授予失败的特权。如果有任何关于我做错了什么或如何找出问题的指导,我将不胜感激。
谢谢。
#!/bin/bash -e
clear
echo "MySQL Admin Password: "
read -s mysqlpass
echo "New Site name (short, a-zA-Z only)"
read -e newsitename
echo "Last chance - sure you want to run the script? (y/n)"
read -e run
if [ "$run" == y ] ; then
# This command doesn't work
dbsetup="CREATE DATABASE "$newsitename"_db;GRANT ALL PRIVILEGES ON "$newsitename"_db.* TO 'site_usr'@'localhost';FLUSH PRIVILEGES;"
mysql -u root -p$mysqlpass -e "$dbsetup"
mysqldump -u root -p$mysqlpass template_db > temp.sql
dbimport=$newsitename"_db < temp.sql"
mysql -u root -p$mysqlpass $dbimport
else
exit
fi
你可以试试:
dbsetup="CREATE DATABASE ${newsitename}_db;GRANT ALL PRIVILEGES ON ${newsitename}_db.* TO 'site_usr'@'localhost';FLUSH PRIVILEGES;"
双引号会损坏您的字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句