我已经创建了一个shell脚本,如下所示。目的是在远程计算机中创建一个数据库,并为远程计算机中的特定用户提供该数据库的所有权限。
shell脚本如下所示。
ssh root@10.3.2.0'echo“db name:”;
读取db_name;
echo“db user:”;
读取db_user;
echo“用户密码:”;
读密码;
主机=本地主机;
sql1 =“create database $ db_name;”;
sql2 =“将$ {db_name}。*上的所有内容授予$ {db_user} @ $ {host},标识为”$ {password}“;”;
SQL3 = “$ {SQL1} $ {SQL2}”;
mysql -u root -p -e“$ {sql3}”;
“
Iam获得的输出如下:
root@10.3.2.0密码:
数据库名称:
amblex
db用户:
qbadmin
用户密码:
xxxx
输入密码:xxxx
第1行的错误1064(42000):SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在'qburst'附近的第1行使用正确的语法
我的剧本中可能有什么错误.PLease帮助我解决这个问题。
提前致谢。
答案 0 :(得分:0)
而不是......
sql2="grant all on ${db_name}.* to ${db_user}@${host} identified by "${password}";";
...试试这个......
sql2="grant all on ${db_name}.* to ${db_user}@${host} identified by \"${password}\";";
您也可以考虑使用expect
。