微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Shell脚本中创建数据库 – 从PHP转换

我有以下PHP代码,用于创建数据库,用户和授予用户权限:
$con = MysqL_connect("IP.ADDRESS","user","pass");
MysqL_query("CREATE DATABASE ".$dbuser."",$con)or die(MysqL_error());
MysqL_query("grant all on ".$dbuser.".* to  ".$dbname." identified by '".$dbpass."'",$con) or die(MysqL_error());

我想在shell脚本中执行这些相同的操作.它只是这样的:

MyUSER="user"
MyPASS="pass"
MysqL -u $MyUSER -h -p$MyPASS -Bse "CREATE DATABASE $dbuser;"
MysqL -u $MyUSER -h -p$MyPASS -Bse "GRANT ALL ON $DBUSER.* to  $dbnAME identified by $DBPASS;"

在postwwwacct(一个cPanel帖子帐户创建钩子脚本)中需要编辑,理想情况下它将是完全独立的

您需要使用小写“MysqL”并在-h之后添加主机名,并且您混合使用单引号和双引号.此外,您需要设置dbname,dbuser和dbpass的值并使用一致的大小写:
MyUSER="user"
MyPASS="pass"
HostName="host"
dbname="dbname"
dbUser="dbuser"
dbPass="dbpass"

MysqL -u $MyUSER -h $HostName -p$MyPASS -Bse "CREATE DATABASE $dbUser;"
MysqL -u $MyUSER -h $HostName -p$MyPASS -Bse "GRANT ALL ON ${dbUser}.* to $dbname identified by $dbPass;"

但我对你的sql语法没有百分之百的信心.我认为它看起来更像是这样的:

MysqL -u $MyUSER -h $HostName -p$MyPASS -Bse "CREATE DATABASE $dbname;"
MysqL -u $MyUSER -h $HostName -p$MyPASS -Bse "GRANT ALL ON ${dbname}.* to $dbUser identified by $dbPass;"

原文地址:https://www.jb51.cc/bash/387122.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐