2010-06-09 99 views

回答

4

好的,这是事情。

'mysql_create_db'函数在cPanel服务器上无法正常工作。

还有就是这样的解决方案,虽然,通过使用专用的cPanel功能,像这样

http://USER:[email protected]:2082/frontend/SKIN/sql/adddb.html?db=DB

还有,可以在这里http://www.zubrag.com/scripts/cpanel-database-creator.php

+0

没有错误,同时有 - http:// USER:PASS @ HOST:2082/frontend/SKIN/sql/adddb.html?db = DB,但也没有创建数据库;还有其他方面 – 2017-05-28 08:42:26

0

要创建一个DB:

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

+0

我不认为这是可能的。 cPanel不仅仅允许你使用任何cPanel用户ID /密码来创建数据库。您需要使用根凭证。 – 2013-05-21 05:19:01

0

只要用户连接到数据库具有在MySQL中定义的相应权限,这应该不是一个问题。

要创建数据库,用户需要CREATE privilege(要删除它们将成为DROP权限),要创建用户,您需要具有CREATE USER privilege。您还可能需要GRANT OPTION privilege才能将权限授予其他用户。

所以只要你可以通过WHM/cPanel创建的数据库用户拥有这些权限,你应该没问题。

0

使用的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'); 
相关问题