2010-06-05 101 views
1

我創建了新的cPanel帳戶,使用這個帳戶創建了新的數據庫,新的數據庫用戶和連接的用戶到數據庫,簡單的東西。現在,我希望這個特定的用戶能夠創建新的數據庫,我如何升級這個數據庫用戶的權限以允許創建新的數據庫?我仍然希望這些數據庫與cPanel帳戶相關聯,是否將帳戶名稱前綴(account_)添加到數據庫名稱足以將其與該cPanel帳戶相關聯?如何升級數據庫用戶權限以創建新數據庫?

編輯:哎呀,忘了提及 - 數據庫是MySQL。

回答

2

您前人的精力閱讀包含所有適當的程序的在線手冊,但這裏是你如何能做到這一點:

<?php 

include("xmlapi.php"); 
$db_host = "localhost"; 
$cpuser = "myuser"; 
$databasename = 'mydatabasename';//do not prepend with username 
$databaseuser = 'mydatabaseuser';//api will do that for you 
$databasepass = '123456'; 

$xmlapi = new xmlapi($db_host); 
$xmlapi->password_auth("root","root_pass"); 
$xmlapi->set_debug(1);//this setting will put output into the error log in the directory that you are calling script from 
$xmlapi->set_output('array');//set this for browser output 

//create database 
$createdb = $xmlapi->api1_query($cpuser, "Mysql", "adddb", array($databasename)); 
foreach($createdb as $v) 
{ 
    $result = $v['result']; 
} 
if ($result == 1) 
{ 
    //create user 
    $usr = $xmlapi->api1_query($cpuser, "Mysql", "adduser", array($databaseuser, $databasepass)); 
} 
foreach($usr as $v) 
{ 
    $result2 = $v['result']; 
} 
if ($result2 == 1) 
{ 
    //add user to database 
    $addusr = $xmlapi->api1_query($cpuser, "Mysql", "adduserdb", array($databasename, $databaseuser, 'all')); 

} 
print_r($addusr); 


?> 

這應該適應你的API,但它的作用是允許創建數據庫,創建用戶,並最終與之關聯!

PS:看xmlapi-php-class

希望它可以幫助你......

+0

謝謝Zuul,上次我使用cPanel/WHM API時沒有數據庫調用,所以這是個好消息。 – arnaslu 2010-06-05 18:16:14

0

如果我正確理解你的問題,你想授予某個用戶的訪問權限,以便能夠在這個特定的用戶帳戶中創建新的數據庫。正確?

如果是這樣,當您在CPANEL/WHM中創建新的域/用戶時,可以定義用戶將擁有多少個數據庫。 因此,如果您爲此用戶定義了3個數據庫,則您將授予此用戶他可以創建3個數據庫。

就是這樣......如果我正確理解你的問題。

問候

+1

不,這不是它。 cPanel用戶擁有無限數量的數據庫,我想要做的是允許數據庫用戶創建新的數據庫。我需要這個,所以我可以即時創建新的數據庫,而無需登錄到cPanel並手動創建它們。 – arnaslu 2010-06-05 16:35:11