Как повысить права пользователей базы данных для создания новых баз данных? - PullRequest
1 голос
/ 05 июня 2010

Я создал новую учетную запись cPanel, используя эту учетную запись, создал новую базу данных, нового пользователя базы данных и подключил пользователя к базе данных, простые вещи. Теперь я хочу, чтобы этот конкретный пользователь мог создавать новые базы данных, как я могу повысить разрешения этого пользователя базы данных, чтобы разрешить создание новых баз данных? Я все еще хочу, чтобы эти базы данных были связаны с учетной записью cPanel, достаточно ли добавления префикса имени учетной записи (account_) к имени базы данных, чтобы связать его с этой учетной записью cPanel?

Редактировать: Упс, забыл упомянуть - база данных MySQL.

Ответы [ 2 ]

2 голосов
/ 05 июня 2010

Вы можете прочитать онлайн-руководство, которое содержит все надлежащие процедуры, но где вы можете это сделать:

<?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 голосов
/ 05 июня 2010

Если я правильно понимаю ваш вопрос, вы хотите предоставить доступ определенному пользователю, чтобы иметь возможность создавать новые базы данных в этой конкретной учетной записи пользователя. исправить?

Если это так, когда вы создаете новый домен / пользователя в CPANEL / WHM, вы можете определить, сколько баз данных будет у пользователя. Итак, если вы определите для этого пользователя, например, 3 базы данных, вы предоставите этому пользователю возможность создавать 3 базы данных.

Вот и все ... если я правильно понимаю ваш вопрос.

Привет

...