我想知道是否可以在WHM/cPanel服务器上从PHP创建一个新的数据库和用户。
uqjltbpv1#
好吧,是这样的。'mysql_create_db'函数在cPanel服务器上无法正常工作。不过有一个解决方案,通过使用专有的cPanel函数,如下所示http://USER:PASS@HOST:2082/frontend/SKIN/sql/adddb.html?db=DB这里还有一个现成的脚本http://www.zubrag.com/scripts/cpanel-database-creator.php
http://USER:PASS@HOST:2082/frontend/SKIN/sql/adddb.html?db=DB
lx0bsm1f2#
对于CPanel:
function create_db($cPanelUser,$cPanelPass,$dbName) { $buildRequest = "/frontend/x3/sql/addb.html?db=".$dbName; $openSocket = fsockopen('localhost',2082); if(!$openSocket) { return "Socket error"; exit(); } $authString = $cPanelUser . ":" . $cPanelPass; $authPass = base64_encode($authString); $buildHeaders = "GET " . $buildRequest ."\r\n"; $buildHeaders .= "HTTP/1.0\r\n"; $buildHeaders .= "Host:localhost\r\n"; $buildHeaders .= "Authorization: Basic " . $authPass . "\r\n"; $buildHeaders .= "\r\n"; fputs($openSocket, $buildHeaders); while(!feof($openSocket)) { fgets($openSocket,128); } fclose($openSocket); //echo "Created database $dbName"; } create_db('username','password','dbName');
vcirk6k63#
创建数据库:
mysql_query('create database foo');
或
mysql_create_db('foo');
http://www.php.net/manual/en/function.mysql-create-db.php
创建MySQL用户:
您可以通过生成SQL并通过mysql_query运行它来创建用户帐户(就像第一个示例一样):http://dev.mysql.com/doc/refman/5.1/en/adding-users.html
mysql_query
tkclm6bt4#
只要您用来连接数据库的用户具有MySQL中定义的适当权限,这就不应该成为问题。要创建数据库,用户需要CREATE权限(删除数据库,即DROP权限),要创建用户,您需要具有CREATE USER权限。您可能还需要GRANT OPTION权限才能向其他用户授予权限。因此,只要您可以通过WHM/cPanel创建的DB用户具有这些权限,您就应该可以了。
4条答案
按热度按时间uqjltbpv1#
好吧,是这样的。
'mysql_create_db'函数在cPanel服务器上无法正常工作。
不过有一个解决方案,通过使用专有的cPanel函数,如下所示
http://USER:PASS@HOST:2082/frontend/SKIN/sql/adddb.html?db=DB
这里还有一个现成的脚本http://www.zubrag.com/scripts/cpanel-database-creator.php
lx0bsm1f2#
对于CPanel:
vcirk6k63#
创建数据库:
或
http://www.php.net/manual/en/function.mysql-create-db.php
创建MySQL用户:
您可以通过生成SQL并通过
mysql_query
运行它来创建用户帐户(就像第一个示例一样):http://dev.mysql.com/doc/refman/5.1/en/adding-users.htmltkclm6bt4#
只要您用来连接数据库的用户具有MySQL中定义的适当权限,这就不应该成为问题。
要创建数据库,用户需要CREATE权限(删除数据库,即DROP权限),要创建用户,您需要具有CREATE USER权限。您可能还需要GRANT OPTION权限才能向其他用户授予权限。
因此,只要您可以通过WHM/cPanel创建的DB用户具有这些权限,您就应该可以了。