すべてPHPを使用して、新しいMySQLデータベースと新しいMySQLユーザーを作成し、新しいデータベースに対する新しいユーザー権限を付与する方法はありますか?
あなたはこのようなことをすることができます:
mysql_connect('localhost','user',password);
mysql_query("CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';");
mysql_query("GRANT ALL ON db1.* TO 'username'@'localhost'");
mysql_query("CREATE DATABASE newdatabase");
mysql_close();
[〜#〜] grant [〜#〜] および CREATE USER に関するMySQLのドキュメントをご覧ください。
はい。これらのアクションはすべて、通常のSQLクエリで実行できるためです。
ただし、rootユーザーからのデータベース接続でPHPスクリプトを実行することは控えます。
CPanelでプロジェクトをホストしている場合は、mysql_query
メソッドは、データベース、ユーザーの作成、およびアクセス許可の付与には機能しません。
CPanelにはXMLApiを使用する必要があります。
<?php
include("xmlapi.php");
$db_Host = 'yourdomain.com';
$cpaneluser = 'your cpanel username';
$cpanelpass = 'your cpanel password';
$databasename = 'testdb';
$databaseuser = 'test'; // Warning: in most of cases this can't be longer than 8 characters
$databasepass = 'dbpass'; // Warning: be sure the password is strong enough, else the CPanel will reject it
$xmlapi = new xmlapi($db_Host);
$xmlapi->password_auth("".$cpaneluser."","".$cpanelpass."");
$xmlapi->set_port(2082);
$xmlapi->set_debug(1);//output actions in the error log 1 for true and 0 false
$xmlapi->set_output('array');//set this for browser output
//create database
$createdb = $xmlapi->api1_query($cpaneluser, "Mysql", "adddb", array($databasename));
//create user
$usr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduser", array($databaseuser, $databasepass));
//add user
$addusr = $xmlapi->api1_query($cpaneluser, "Mysql", "adduserdb", array("".$cpaneluser."_".$databasename."", "".$cpaneluser."_".$databaseuser."", 'all'));
?>
here からxmlapi.phpをダウンロードするか、Googleで検索してください。
これは私にとって完璧に機能したものです。
PHP myadminまたはMySqlワークベンチを開き、クエリウィンドウに移動して、クエリの下で実行します
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON db1.* TO 'username'@'localhost'"
phpmyadminを使用することをお勧めします。
次の手順を実行する必要があります。
それはすべてyoutubeで実際に見られます[ ここをクリック ]
phpMyadminについてもっと知りたい場合 公式に行く
しかし、phpでそうする特別な理由がある場合は、ここにsqlの表彰があります
CREATE USER 'tesrytss'@'%'//user name
IDENTIFIED VIA mysql_native_password USING '***';.//set pass
GRANT SELECT, INSERT, UPDATE, DELETE, FILE ON *.* TO 'tesrytss'@'%' // previlages and username and location
REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; //other requerment