gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:55:08 26 4
gpt4 key购买 nike

我有以下 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 后帐户创建 Hook 脚本)中需要的,理想情况下它将是完全独立的

最佳答案

您需要小写“MYSQL”并在 -h 之后添加一个主机名,并且您混合了单引号和双引号。此外,您需要设置 dbnamedbuserdbpass 的值并使用一致的大写。:

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 语法不是 100% 有信心。我认为它看起来更像这样:

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;"

关于php - 在 Shell 脚本中创建数据库 - 从 PHP 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772335/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com