MySQLデータベースに基づいたさまざまなプロジェクトで構成されるWebポータルがあります。プロジェクト管理者は、テーブルを管理する必要があります。可能な限り安価なセットアップで、既存の無料のシンプルなインターフェイスを提供したいと思います(たとえば、新しいプロジェクトごとに最大10〜15分かかります-重要です!プロジェクト管理者の数とそのリクエストは増えます...) 。サポートする必要があります:
- 必須:テーブルのエクスポート、インポート、新しい行の挿入、既存の行の変更
- 必須ではありませんが、プラス:外部キーが外部テーブルの他のフィールド値(通常は「ディクショナリ」)に置き換えられ、特定の列のみが表示されるなど。
問題は、それがホスティング環境であるため、MySQLデータベースに対するスーパーユーザー権限がないことです。私には付与権限がないので、ホスティングプロバイダーにすべてのgrant
コマンドを実行するように依頼する必要があります。したがって、これらのリクエストは標準を超えるサービスであるため、最小限に抑えたいと思います(これは私にとっての恵みです)。そして、これらの要求はかなり頻繁に行われる必要があります。
どのデータベース管理ツール/ソリューションを使用できますか?
私の考え:
1)MySQLODBCコネクタ+クライアントとしてのMSAccess。MS Accessは、ODBCコネクタを介してMySQLサーバーに接続します。目的のテーブルへのリンクと、すばやく生成されたフォームを含む小さなMSAccessファイルを準備できます。
- これはすばらしいことですが、ユーザーがテーブル構造を変更したり他のテーブルを破壊したりするのを防ぐために、必要な権限を持つdbユーザーを作成するために毎回プロバイダーに連絡する必要があります...
2)クライアント->プロキシ->MySQLサーバー。1)と同様ですが、プロキシがあります。私は現在理論を立てていますが、Accessは他のプロトコル(HTTPなど)を使用して、アクセス許可を処理するプロキシに接続し、このプロキシがそれをMySQLサーバーに渡すこともできます。そのようなものはありますか?
3)PHPMyADMIN。ポイント1)からの問題は残っています。ただし、パーミッションチェックは理論的にはここでPHPレベルで実装できるため、MySQLパーミッションを変更する必要はありません。PHPMyADMINは、箱から出してすぐにそれを実行できますか?テーブルAとBのみを表示し、列Cなどのみを変更できる新しいユーザーを簡単に構成できますか?
- ただし、インポートはあまりユーザーフレンドリーではなく(XLSなし、CSVのみ、区切り文字の自動検出なしなど)、新しいレコードを挿入します...
4) GoogleDocsのようなスプレッドシートのような外観の最新のWebツールがたくさんあります。これらをタスクに使用できますか。繰り返しになりますが、理論的には、アクセス許可のチェックはWebサーバー(データベースではない)レイヤーで実行でき、簡単にセットアップできます...(?)
多くの人が同じ問題を解決しなければならなかったと思いますので、あなたの経験とアイデアを楽しみにしています!