2016-05-09 4 views
0

WHM/cPanelサーバーにデータベースを作成するPHP/Shellコマンドを作成しようとしています。ここで私が試したものです: - パテ を介してアクセスするSSH - mysql -p を使用してMySQLサーバに接続された - create database cpaneluser_newdatabase;WHM/Cpanelを使用したコード/コマンドサーバーによるデータベース/ユーザーの作成

は、しかし、私は次のようなエラーgetコマンド蘭:私は方法が必要です

Access denied for user 'cpanel_username'@'localhost' to database 'cpaneluser_newdatabase'

をデータベースとユーザーを作成し、そのユーザーにデータベース権限を割り当てます。私たちがcPanelインターフェイスを通してやっているのとまったく同じプロセスですが、code/commandを使っています。

私はroot/WHMアクセス権を持っています。

+0

は、あなたがしなければならない私が編集をあなたの質問を追加するCpanel。それは重要です。いくつかの答えはシステムにとって危険です。 – abkrim

答えて

0
Access denied for user 'cpanel_username'@'localhost' to database 'cpaneluser_newdatabase' 

ユーザーを意味しますローカルホストでアクセスcpanel_usernameは、データベースcpaneluser_newdatabaseにアクセスするための権限を持ちません。

mysqlにrootでログインし、特権を与えようとします。

使用grant all on cpaneluser_newdatabase.* to [email protected]'localhost'

PS: 'localhost' の@

cpanel_usernameは非常に奇妙です....より良い

このようなあるmysqlclient使用:あなたはcPanelのmysqlのデータベースにアクセスすることになっていることmysqlのユーザのパスワードを作成する必要が

mysql -u<username> -p 
+0

権限を付与しました!ありがとう –

+0

@ダニエル。うまく使えば、ユーザはcpanelのデータベースを見ることができません。 Cpanelはデータベースのバックアップを作成しません。 APIコールWHM-を使用する必要があります。その答えは、Cpanel.https://documentation.cpanel.net/display/SDK/Guide+to+WHM+API+1とhttps://documentation.cpanel.net/display/SDKの災害に最適な方法です。/cPanel + API + 2 +関数+ - + MysqlFE%3A%3Acreatedb – abkrim

-1

ボトムライン:このような操作をリモートで実行する前に、cPanel /ホスト側のリモートMySQL設定を調整する必要があります。

これは本当にあなたのcpanel/webホスティングプロバイダによって異なります。これらの種類の権限は、それぞれに固有のものですが、一般的にはデフォルトではより制限的です。

一般的な考え方は、アプリケーションに固有の新しいデータベースユーザーを作成して、アプリケーション内で作成された新しいユーザーにアクセス許可を与える必要があるということです。アプリ内でcpanelの資格情報を使用したくない場合 - ハッキングされた場合、サーバー上のすべてのものに瞬時にアクセスできます。

  1. チャンスはある、あなたがcpanelの/ mysqlのは、あなたがまだリモートでログインする 権限を持っていないことをホストされている場所とは異なるIPアドレス /マシンからのmysqlにログインしている場合。それはあなたの最初の セットアップするステップです: http://www.liquidweb.com/kb/enable-remote-mysql-connections-in-cpanel/
  2. あなたのIPとユーザーのリモートmysqlを設定したら、以前と同じようにsshを使ってmysqlに接続して新しいユーザーを作成し、アプリケーション用のデータベース。
  3. 新しいユーザーがいるので、その新しいアプリケーション固有のユーザーを使用して新しいデータベースを管理し、アクセス権を持つ他のユーザーに権限を割り当てます。それらを必要とするユーザーにのみデータベース特権を提供し、常に必要な特権を割り当てることを忘れないでください。彼らが何かを必要とするかどうかわからない場合は、実際にどこに来るかが判明するまでそれを割り当てないでください。
+0

あなたの答えに感謝します。しかし、私の質問や状況は「リモートアクセス」とは関係ありません。 –

+0

答えは質問とは関係ありません。 – abkrim

0

を:

CREATE DATABSE cpaneluser_newdatabase; 
CREATE USER 'cpaneluser_mysqluser'@'localhost' IDENTIFIED BY 'your-password'; 
GRANT ALL ON cpaneluser_newdatabase.* to [email protected]'localhost'; 
FLUSH PRIVILEGES; 
関連する問題