如何升级数据库用户权限以创建新数据库?

时间:2010-06-05 16:15:18

标签: mysql database cpanel

我创建了新的cPanel帐户,使用此帐户创建了新数据库,新数据库用户和连接用户到数据库,简单的东西。现在,我希望此特定用户能够创建新数据库,如何升级此数据库用户的权限以允许创建新数据库?我仍然希望这些数据库与cPanel帐户相关联,将帐户名称前缀(account_)添加到数据库名称,足以将其与该cPanel帐户相关联吗?

编辑:哎呀,忘了提 - 数据库是MySQL。

2 个答案:

答案 0 :(得分: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

希望它对你有所帮助......

答案 1 :(得分:0)

如果我理解您的问题,您希望授予某个用户访问权限,以便能够在此特定用户帐户中创建新数据库。正确的吗?

如果是这样,当您在CPANEL / WHM中创建新域/用户时,您可以定义用户将拥有多少个数据库。 因此,如果您定义此用户(例如,3个数据库),您将向该用户授予他可以创建3个数据库的权限。

这就是......如果我理解你的问题。

此致