2010-06-09 94 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'); 
相關問題