1

新しいcPanelアカウントを作成しました。このアカウントを使用して、新しいデータベース、新しいデータベースユーザー、およびデータベースに接続されたユーザーを作成しました。この特定のユーザーが新しいデータベースを作成できるようにしたいのですが、このデータベース ユーザーの権限をエスカレートして、新しいデータベースの作成を許可するにはどうすればよいですか? これらのデータベースを cPanel アカウントに関連付けたいのですが、アカウント名のプレフィックス (account_) をデータベース名に追加して、その cPanel アカウントに関連付けることができますか?

編集:おっと、言及するのを忘れていました-データベースはMySQLです。

4

2 に答える 2

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 に合わせて調整する必要がありますが、DB の作成とユーザーの作成を許可し、最後に関連付けを行います。

Ps: xmlapi-php-classを参照してください

お役に立てば幸いです...

于 2010-06-05T17:21:44.023 に答える
0

私があなたの質問を正しく理解していれば、この特定のユーザー アカウントで新しいデータベースを作成できるように、特定のユーザーにアクセス権を付与したいと考えています。正しい?

その場合、CPANEL/WHM で新しいドメイン/ユーザーを作成するときに、ユーザーが持つデータベースの数を定義できます。したがって、たとえば 3 つのデータベースをこのユーザーに定義すると、このユーザーに 3 つのデータベースを作成できる権限が付与されます。

それだけです...私があなたの質問を正しく理解していれば。

よろしく

于 2010-06-05T16:23:54.380 に答える