2010-06-05 4 views
1

J'ai créé un nouveau compte cPanel, en utilisant ce compte créé nouvelle base de données, nouvel utilisateur de base de données et utilisateur connecté à la base de données, des choses simples. Maintenant, je veux que cet utilisateur particulier soit capable de créer de nouvelles bases de données, comment puis-je augmenter les permissions de cet utilisateur de base de données pour permettre la création de nouvelles bases de données? Je souhaite toujours que ces bases de données soient associées au compte cPanel, est-ce que l'ajout du préfixe de nom de compte (account_) au nom de la base de données suffit à l'associer à ce compte cPanel?Comment escalader les autorisations d'utilisateur de base de données pour créer de nouvelles bases de données?

Editer: Oups, oublié de mentionner - base de données est MySQL.

Répondre

2

Vous Sould lire le manuel en ligne qui contient toutes les procédures appropriées, mais où comment vous pouvez le faire:

<?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); 


?> 

Cela devrait être adapté à votre API, mais ce qu'il fait est autoriser la création de DB, avec une création d'utilisateur, et enfin, associer alors!

Ps: voir xmlapi-php-class

espérons qu'il vous aidera ...

+0

Merci Zuul, la dernière fois que je travaillais avec cPanel/WHM API, il n'y avait pas d'appels de base de données, donc c'est une excellente nouvelle. – arnaslu

0

Si je comprends bien votre question, vous voulez accorder l'accès à certains utilisateurs pour pouvoir créer de nouvelles bases de données dans ce compte d'utilisateur particulier. correct?

Si c'est le cas, lorsque vous créez un nouveau domaine/utilisateur dans CPANEL/WHM, vous pouvez définir le nombre de bases de données que l'utilisateur aura. Donc, si vous définissez à cet utilisateur, par exemple, 3 bases de données, vous accorderez à cet utilisateur qu'il peut créer 3 bases de données.

C'est tout ... si je comprends bien votre question.

Cordialement

+1

Nope, c'est pas. L'utilisateur de cPanel a un nombre illimité de bases de données, ce que je veux faire est de permettre à l'utilisateur de base de données de créer de nouvelles bases de données. J'en ai besoin pour pouvoir créer de nouvelles bases de données à la volée, sans avoir à me connecter à cPanel et à les créer manuellement. – arnaslu

Questions connexes